Bugku-web题wp (持续更新)

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

Sql注入1:

看代码一个循环把select,from,where都给过滤了…要查肯定要用这些语句啊,对怎么绕过毫无思路,只好去网上查,才知道底下xss不是白给的,在关键词中间加html的标记<>,xss的时候再还原回去(知道了一个新套路…)

要求查询key表id=1的hash字段,所以提交?id=1 un<br>ion sel<br>ect1,hash fro<br>m key where id=1%23 ,发现啥都没有,可能又是这个key表作祟,这个表名正好是key就容易出问题,和昨天的题一样key用``包裹一下,重新提交:

?id=1 un<br>ion sel<br>ect1,hash fro<br>m `key` where id=1%23

得到了key:

 

 

你必须让他停下:

打开链接发现一直在刷新界面,提示让它停下来,看源码有个间隔多少毫秒就刷新界面的语句,也没法停止,直接上burp抓包,抓包发到repeater,go一下没有flag,再go几下就出来了…(也不知道是什么原理)

 

本地包含:

看代码有个flag.php,既然本地包含那flag肯定在这个php文件里,要查看文件内容百度了一下有个file_get_contents函数,这里接受表单提交的hello值,还有个eval,所以就把hello赋值成查看文件的命令,var_dump()打印。

提交?hello=file_get_contents(%27flag.php%27),发现显示了个string(84),flag呢… 一查原来file_get_contents把文件内容放进了一个字符串,查看一下源代码就找到了flag:

 

 

 

变量1:

提示flag在变量里,看代码是接受表单的args变量,有这样一行代码:

eval("var_dump($$args);");

把args的值解释成变量名打印,猜想应该通过这个打印出flag,也不知道什么变量啊,百度一下php内置变量,发现了这个:

直接提交?args=GLOBALS,就得到了flag:

 

 

秋名山老司机:

打开发现让计算一大长串式子值2s内提交,毫无疑问肯定是写脚本解决的不可能手算再提交,写段python脚本(网络安全实验室做过类似题,脚本中用正则提取算术表达式还有点糊涂,照着改了改…)其中那个post提交,把结果赋给value这个变量提交,value这个词我试了好久…

运行结果:(原来你也是老司机…)

 

 

Web4:

提示查看源代码,看源代码发现了一串%+数字的编码,看到有个unescape方法,去查了一下是一种编码,在线翻译,得到结果如下:

输入password提交,不可以,输入‘’‘’里一长串字符,就得到了flag:

Web5:

查看源代码发现和上题类似只不过这次的编码很恶心,查了半天也没找到解码的工具,百度看到别的wp上写着直接放到chrome的console…得到了flag:

 

flag在index里:

提示flag在index.php里,但是源码都没有index.php的影子,看源码有file=show.php,应该是文件包含漏洞,用filter那个,得到base64编码的字符:

解码就得到了flag。


请输入密码:

让输入五位数密码,直接burp爆破,得到flag:

 

 

前女友:

打开链接,发现是个找代码漏洞的,要求提交的v1和v2不同但判断md5编码后的相同,查了一下是QNKCDZO和240610708,v3必须经过strcmp判断和flag相同,利用strcmp数组和字符串判断总是相等的漏洞,提交?v1=240610708&v2=QNKCDZO&v3[]=1,得到flag:

Javascript:

看界面是要点击1000000次,看代码里面clicks>=1000000时通过post提交一个表单,内容为clicks=***,所以直接post提交就可以了,利用火狐hackbar,得到flag:

 

听说备份是个好习惯:

打开解题链接发现就是一长串字符,什么都没有,没有什么思路,这题只好贴到百度查的…wp上写着用王一航大佬的脚本爆得获得源码的地址:

http://120.24.86.145:8002/web16/index.php.bak

去这个地址下载源码,发现是类似上面题的漏洞,利用QNKCDZO和240610708,但是前面把key替换成了空,提交必须提交key1=QNKCDZO&key2=240610708,可以使用kkeyey这种方法,提交?kkeyey1=QNKCDZO&kkeyey2=240610708得到flag:

 

成绩单:

看到这个题肯定是注入类型的,用’验证果然是,然后开始老步骤,查所有数据库的名字:(测试出select后字段数是4)

payload:' union select  1,1,1,schema_name frominformation_schema.schemata#

发现给了一行information_schema,啥用也没有,应该是只能显示一行内容,困在这里只好去看wp,发现wp用了select 1,1,1,database()#就把需要的数据库名字查了出来,数据库名字是skctf_flag(不懂为啥),然后接着查表:

      Payload:union select 1,table_name,1,1 from information_schema.tables wheretable_schema='skctf_flag' #

查到表是fl4g,去查列:

      Payload:'unionselect 1,column_name,1,1 from information_schema.columns wheretable_schema='skctf_flag' and table_name='fl4g'#

查到skctf_flag列,然后去直接去查flag:

                Payload:'union select1,1,1,skctf_flag from fl4g#

查到flag:

Web6:

提示快点,应该是需要抓包获取信息,抓到包发到repeater发现了一个flag:后面跟一串字符,‘=’结尾考虑base64解码,解码后是:

跑的还不错,给你flag吧: NjkwNjc2

这肯定不是flag… 再用base64解码,是690676,然后这应该不能再解码了,源代码说让把你发现的margin用post提交,用hackbar提交,然而还是提示再快… 抓了好几个包,发现包里flag:后的内容是不一样的,所以还要写脚本来重复上述过程,得到flag:

 

Cookie欺骗:

点开链接发现自动提交了表单,filename=一个base64编码的文件名字,line应该是第几行的意思,所以要获得index.php的代码才能做题,用脚本一行一行获得index.php的代码:

运行结果:

然后阅读代码发现必须输出keys.php文件内容才能得到key,而就需要一个margin=‘margin’的cookie,所以去抓包改一下(把文件名改成key.php对应的base64编码):

 

Xss测试:

Xss还没有学… 所以先去看了看xss的基础知识,然后做题,照猫画虎构造一个js脚本,因为要含这个alert(_key_),所以就构造id=<script>alert(_key_);</script>,然后发现没什么卵用,把我这代码没有执行而是当字符串在网页打了出来,看源代码好像被转义了,然后就不会了,只好去百度,wp上写着要用js对尖括号转义方式进行转义,所以照着试了试得到了flag:

 


 


 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值