Bugku-Web题wp (前九题)

分享一下本人做题记录,不足之处多多指正。

这里先贴一波之前的做题记录,还在更新中(补之前的wp)

签到题:

直接加入qq群,公告里就有key:

Bugku-Web题wp (前九题)_第1张图片

 

Web2:

打开发现都是滑稽,查看源代码就可以找到key了:

Bugku-Web题wp (前九题)_第2张图片

 

文件上传:

上传php文件,显示不是图片,上传图片,又必须是php,显然普通上传不能同时满足这两个条件,所以上传个图片用burp抓包,发送到repeater:

Bugku-Web题wp (前九题)_第3张图片

观察到有个filename=”****.png”

判断文件名必须包含.png而且还需要包含.php,回顾以往绕过用%00截断,所以修改filename用%00截断,go一下就得到了flag:

Bugku-Web题wp (前九题)_第4张图片

 

计算题:

首先发现给出个计算式,想输入结果发现只能输一位,考虑把长度这个变量值改变,先查看源代码,点开源代码中一个链接,竟然发现了flag…:

 Bugku-Web题wp (前九题)_第5张图片

 

Web基础GET:

代码给出当what=‘flag’时给出flag,所以在URL直接提交?what=flag就得到了flag:

 Bugku-Web题wp (前九题)_第6张图片

Web基础POST:

代码和上题差不多,但是是post提交,无法在URL里提交,写段python脚本跑一下:

Bugku-Web题wp (前九题)_第7张图片

运行结果:

成功得到flag

 

矛盾:

源代码先是is_numeric判断num不是数字且下面判断num==1才能输出flag,绕过这个矛盾用%00截断,表单提交?num=1%00,即得到了flag:

Bugku-Web题wp (前九题)_第8张图片

Web3:

打开显示flag就在这里的对话框,一直弹弹弹,尝试burp抓包,什么也抓不到… 禁用这个对话框然后查看源代码,发现了一串字符:

前三个数字75,69,89正好是KEY的ASICII码,所以写段脚本变成字符:

运行结果:

得到key。

 

Sql注入:

网页显示查询key表,id=1的string字段,判断注入点是id,?id=’union…等等各种试页面均是毫无反应,很绝望才想到宽字节注入,先试验一下: ?id=%df’or 1=1%23,发现正常显示:

Bugku-Web题wp (前九题)_第9张图片

所以是宽字节注入。

查询key表,id=1的string字段,查找应该是两项,所以输入?id=%df%27 union select1,string from key where id=1%23,结果发现报了错:

Bugku-Web题wp (前九题)_第10张图片

应该是key既使字段名又是表名,出现了冲突,百度一下是用`key`包裹,所以最终输入:

? id=%df%27 union select 1,string from`key` where id=1%23 得到flag:

Bugku-Web题wp (前九题)_第11张图片

 

 



你可能感兴趣的:(Bugku-Web题wp (前九题))