[NISACTF 2022]join-us 全球热推荐
https://www.ctfer.vip/problem/2034
昨天不是提到了web入门的学习顺序么,在NSS上题目右侧有链接,这里也放一下:
(资料图片)
https://www.ctfer.vip/problem/sheet/3162
然后是因为昨天看到很多NISA的题,搜了一下发现还剩一道没做,是sql题,辣没事了,我sql荒废了好久好久,只记得一点知识啥的,那就靠这道题慢慢找回感觉吧= =
hint:WEB SQL注入 WAF绕过
言归正传:
点击登录后直接看到注入框:
本来这里改用fuzz跑一下,但是但是我昨天说了我fuzz的字典无了,老懒狗啦,要么自己输点什么跑一下,要么就边做边摸索,再懒一点就直接看别人wp看看过滤啥了:
没错我是最懒的:
https://blog.csdn.net/m0_64815693/article/details/127737194
以及NSS本题中Zh1Ao师傅的题解https://www.ctfer.vip/problem/2034
and by cast column case assic " & if = %22 or benchmark updatexml substring update floor handler sleep database as insert left 看到过滤了database,没什么问题,搜一个不存在的表会报错显示库名的,
当然这里没有过滤空格这些,其实空格被过滤了绕过方式很多,比如最常用的/**/啊,%20 %09这些啊,当然()也可以。
那么这里首先这里fuzz应该没全,union也会遇到waf:
然后利用管道符:
这里放不出来句子,b站会检测稿子里的sql句子然后危险警告= =只能放图片了抱歉。
这里就会报错返回数据库名:
得到数据库名sqlsql后开始查表:
extractvalue()报错注入,等号用like替代,昨天的注入题也提到过了
这一句所有WP都基本写的都差不多,得到两个表,众所周知,sql里的flag都不在flag表里
所以我们直接看output= =,开玩笑的啦,这里两个表都看过了只放了output的内容,但是column被ban了怎么办呢,别急,你看题目:join--us
这其实也是提示join:sql中的连接词,一般是无列名注入题出现的,
https://blog.csdn.net/qq_51862722/article/details/118685154
依旧被ban了句子放图片,无列名注入我记得之前有篇博客也讲过了,
得到了字段名:
这个时候出现了问题,一般在报错注入里面我们是用left和right,在这里left被ban了就引用到了另一个mid函数:
https://blog.csdn.net/Little_jcak/article/details/123867861
语法:
MID(str,pos)MID(str FROM pos)MID(str,pos,len)MID(str FROM pos FOR len)
两个句子补全,
后半段,注意前面重合部分要删掉哦
拼出来得到flag:
NSSCTF{a5c2fc7c-440c-4c3c-8b4c-4c3c-8b4c-52cce1400898}
好久没做雀氏生疏了,那么期待我们下一题再见!