欢迎投稿

今日深度:

浅析白盒审计中的字符编码及SQL注入(1)(3)

0×03 mysql_real_escape_string解决问题?

部分cms对宽字节注入有所了解,于是寻求解决方案。在php文档中,大家会发现一个函数,mysql_real_escape_string,文档里说了,考虑到连接的当前字符集。

浅析白盒审计中的字符编码及SQL注入

于是,有的cms就把addslashes替换成mysql_real_escape_string,来抵御宽字符注入。我们继续做试验,phithon内容管理系统v1.2:,就用mysql_real_escape_string来过滤输入:

浅析白盒审计中的字符编码及SQL注入

我们来试试能不能注入:

浅析白盒审计中的字符编码及SQL注入

一样没压力注入。为什么,明明我用了mysql_real_escape_string,但却仍然不能抵御宽字符注入。

原因就是,你没有指定php连接mysql的字符集。我们需要在执行sql语句之前调用一下mysql_set_charset函数,设置当前连接的字符集为gbk。

浅析白盒审计中的字符编码及SQL注入

就可以避免这个问题了:

浅析白盒审计中的字符编码及SQL注入 


www.htsjk.Com true http://www.htsjk.com/shujukuaq/16938.html NewsArticle 003 mysql_real_escape_string解决问题? 部分cms对宽字节注入有所了解,于是寻求解决方案。在php文档中,大家会发现一个函数,mysql_real_escape_string,文档里说了,...
评论暂时关闭