指定参数进行扫描,而不是扫描所有参数,这样可以避免浪费时间到非注入点参数上,从而提高扫描效率。比如扫描以下URL,已知Submit是静态参数,id是动态的,那么在扫描的时候只需要指定id就行了,指定多个参数时用双引号包起来,并以逗号分隔。也可以指定HTTP请求头中的参数,如User-Agent
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id
设置--skip跳过指定参数扫描,和-p作用相反,它用来跳过需要扫描的参数。如果不想扫描HTTP头的Referfer和HOST参数
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --skip "Referfer,HOST"
设置--param-exclude不对包含具体内容参数的请求进行探测,如不对包含token和session参数的请求进行探测
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --param-exclude="token,session"
设置--skip-static扫描时忽略非动态参数
指定URI位置进行注入
当注入点在URI上时,除非手动将注入点指向URI上,否则Sqlmap不会对URI路径执行任何自动测试,必须要在扫描时在URI上加星号(*)来指定这些注入点
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli*/?id=1&Submit=Submit#"