bugkuCTF Writeup (Web)1-9

签到题

bugkuCTF Writeup (Web)1-9_第1张图片
加群就行了,没卖什么关子:)


Web2

bugkuCTF Writeup (Web)1-9_第2张图片
花里胡哨的果断去看源码。。。
bugkuCTF Writeup (Web)1-9_第3张图片
flag就在这了


文件上传测试

bugkuCTF Writeup (Web)1-9_第4张图片
就按照上面说的,传一个php试试
bugkuCTF Writeup (Web)1-9_第5张图片
提交后说:非图片文件
那就是既要是图片又要是php了
暂时不知道它是怎么判断是图片是php文件的,先试试再说
用Fiddler抓包
先改一改文件扩展名试一试吧
bugkuCTF Writeup (Web)1-9_第6张图片
后缀改成jpg之后,仍然提示是非图片文件,那反过来呢?
先上传一个图片,然后改成php后缀
bugkuCTF Writeup (Web)1-9_第7张图片
然后就有flag了
flag
大概判断是否是php文件的时候只看的是文件扩展名,判断是否是图片只看的是文件的二进制内容吧


计算题

bugkuCTF Writeup (Web)1-9_第8张图片
第一感觉,这是?验证码?
第四题
然后下意识就去点有颜色的那块,还真会变,真是验证码
心里盘算着这玩意儿要是个图片。。。还得识别图片中的数字不成
然而。。。。假的
这根本就是用CSS和JS给文字加的底色,还真像。。。。以假乱真
然后我就很好奇了,想去看看这以假乱真的“验证码的源码”。。。结果
点开js/code.js这个文件看源码,结果就看到了Flag?
bugkuCTF Writeup (Web)1-9_第9张图片
感觉有些强。。。好歹用ajax去服务器获取flag吧。。。放到静态文件里也太草率了


web基础$_GET

bugkuCTF Writeup (Web)1-9_第10张图片
php代码审计
bugkuCTF Writeup (Web)1-9_第11张图片
这好像都算不上审计,发送一个get请求带上参数就可以了

http://120.24.86.145:8002/get/?what=flag

Flag在此
bugkuCTF Writeup (Web)1-9_第12张图片


web基础$_POST

bugkuCTF Writeup (Web)1-9_第13张图片
还是代码审计
bugkuCTF Writeup (Web)1-9_第14张图片
这次是要发post请求,用postman发一个就好了,得到flag
bugkuCTF Writeup (Web)1-9_第15张图片


矛盾

bugkuCTF Writeup (Web)1-9_第16张图片
这回是php代码审计了
bugkuCTF Writeup (Web)1-9_第17张图片
既不能是数字,又要和1相等
双等号===弱类型
就这个了,只要get的参数是数字1开头后面都是字母比如“1aaaa”这样,双等号判断的时候要类型转换,1aaa就转换成1了,而它也很明显不是数字(!is_numeric)
payload:http://120.24.86.145:8002/get/index1.php?num=1abc
bugkuCTF Writeup (Web)1-9_第18张图片


Web3

bugkuCTF Writeup (Web)1-9_第19张图片
一打开啥也没有,就让我找flag,果断看源码
bugkuCTF Writeup (Web)1-9_第20张图片
最后那一堆Unicode编码的注释很可疑啊,一转换就发现是flag了
bugkuCTF Writeup (Web)1-9_第21张图片


SQL注入

bugkuCTF Writeup (Web)1-9_第22张图片
打开网页,满屏幕找注入点输入框。。。觉着不是我网卡没加载出来,就是藏在哪里了。半天也没找着。
尝试了一下才发现直接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 达到了题目要求
然后就有点懵
bugkuCTF Writeup (Web)1-9_第23张图片
题目要求的那个字段不是KEY{…}这种格式啊
开始开脑洞:
数了数一共是偶数个,而且又都是十六进制字符,赶快去转ascii,结果这根本就超了ascii范围了,全是乱码
又想是不是别的什么编码。。。试了很多种发现都是乱码,这回懵了��
算了司马当活马医试试,强行加上KEY{}提交。。。
竟然过了。。。


第一次写WriteUp,也不知道格式是什么样,反正就瞎写了,想的啥就写啥,望大佬们不要嘲笑

你可能感兴趣的:(CTF)