bugkuCTF Writeup (Web)1-9
签到题
加群就行了,没卖什么关子:)
Web2
花里胡哨的果断去看源码。。。
flag就在这了
文件上传测试
就按照上面说的,传一个php试试
提交后说:非图片文件
那就是既要是图片又要是php了
暂时不知道它是怎么判断是图片是php文件的,先试试再说
用Fiddler抓包
先改一改文件扩展名试一试吧
后缀改成jpg之后,仍然提示是非图片文件,那反过来呢?
先上传一个图片,然后改成php后缀
然后就有flag了
大概判断是否是php文件的时候只看的是文件扩展名,判断是否是图片只看的是文件的二进制内容吧
计算题
第一感觉,这是?验证码?
然后下意识就去点有颜色的那块,还真会变,真是验证码
心里盘算着这玩意儿要是个图片。。。还得识别图片中的数字不成
然而。。。。假的
这根本就是用CSS和JS给文字加的底色,还真像。。。。以假乱真
然后我就很好奇了,想去看看这以假乱真的“验证码的源码”。。。结果
点开js/code.js这个文件看源码,结果就看到了Flag?
感觉有些强。。。好歹用ajax去服务器获取flag吧。。。放到静态文件里也太草率了
web基础$_GET
php代码审计
这好像都算不上审计,发送一个get请求带上参数就可以了
http://120.24.86.145:8002/get/?what=flag
Flag在此
web基础$_POST
还是代码审计
这次是要发post请求,用postman发一个就好了,得到flag
矛盾
这回是php代码审计了
既不能是数字,又要和1相等
双等号===弱类型
就这个了,只要get的参数是数字1开头后面都是字母比如“1aaaa”这样,双等号判断的时候要类型转换,1aaa就转换成1了,而它也很明显不是数字(!is_numeric)
payload:http://120.24.86.145:8002/get/index1.php?num=1abc
Web3
一打开啥也没有,就让我找flag,果断看源码
最后那一堆Unicode编码的注释很可疑啊,一转换就发现是flag了
SQL注入
打开网页,满屏幕找注入点输入框。。。觉着不是我网卡没加载出来,就是藏在哪里了。半天也没找着。
尝试了一下才发现直接get请求带上id参数就是注入点了
试了一下最基本的1' or 1='1'%23
没有什么效果,去看源码,发现编码格式是GB2312,试了试宽字符注入,确实是。
然后就很标准了 1%df' union select 1,2%23
发现查询是两列 1%df' union select 1,database()%23
发现数据库名是sql5 1%df' union select id,string from sql5.key%23
达到了题目要求
然后就有点懵
题目要求的那个字段不是KEY{…}这种格式啊
开始开脑洞:
数了数一共是偶数个,而且又都是十六进制字符,赶快去转ascii,结果这根本就超了ascii范围了,全是乱码
又想是不是别的什么编码。。。试了很多种发现都是乱码,这回懵了��
算了司马当活马医试试,强行加上KEY{}提交。。。
竟然过了。。。
第一次写WriteUp,也不知道格式是什么样,反正就瞎写了,想的啥就写啥,望大佬们不要嘲笑
推荐阅读
-
BugkuCTF练习平台pwn3(read_note)的writeup
-
Web for pentester_writeup之LDAP attacks篇
-
InsomniHack 2016 CTF teaser – Bring the noise Crypto 200 WriteUp_html/css_WEB-ITnose
-
【XCTF】 Web进阶区部分 WriteUp(一)
-
BugkuCTF-web-域名解析
-
实验吧 CTF 题目之 WEB Writeup 通关大全 – 4
-
bugKuCTF第四道reverse题目Timer(阿里CTF)writeup
-
bugkuCTF Writeup (Web)36-40
-
ISG 2018 Web Writeup
-
bugkuCTF Writeup (Web)41-44