福州手机模板建站,北京市建设规划网站,软件工程师一个月工资多少,枣庄专业三合一网站开发注入技术 选项--technique#xff0c;可以用来指定SQL注入技术#xff0c;默认为BEUSTQ。其中#xff0c;B表示基于布尔盲注#xff0c;E表示基于错误的盲注#xff0c;U表示基于联合查询注入#xff0c;S表示堆叠注入#xff0c;T表示基于时间盲注#xff0c;Q表示内联…注入技术 选项--technique可以用来指定SQL注入技术默认为BEUSTQ。其中B表示基于布尔盲注E表示基于错误的盲注U表示基于联合查询注入S表示堆叠注入T表示基于时间盲注Q表示内联查询注入。 1. 基于布尔盲注的时候sqlmap通过比较返回页面的不同来判断真假但有时候一些界面元素会影响sqlmap的判断那么可以提供一个在原始页面与真条件下的页面中都存在而在错误页面中不存在的字符串。sqlmap提供了选项--string用来指定该字符串即查询值有效时在页面匹配的字符串。例如 --techniqueB --stringhello 
设置在错误页面中存在而在原始页面中不存在的字符串: 
--techniqueB --not-stringfail 2.基于错误的注入是通过输入特定语句触发页面报错。如果触发成功则网页会包含相关错误信息帮助用户获取想要的信息进行判断. --text-only用来指定只比较网页的文本内容 
--titles可以设置仅比较网页标题 3.基于时间的盲注是根据时间延迟语句是否执行即页面返回时间是否延长来判断注入漏洞存在的可能性. 
--time-sec可以用来设置响应延时的时间避免慢速网络带来的干扰 
4.联合查询注入根据UNION语句注入的结果进行判断。 
--union-cols可以用来指定列数检测范围。 5.堆叠注入Stacked injection就是允许用户同时执行多条SQL语句从而说明目标存在堆叠注入漏洞,但并不是在每一个环境中都可以执行堆叠注入其可能会受到API或者数据引擎不支持的限制。 
例如 
-techniqueBS -v 3 6.二阶sql注入二级SQL注入是指将输入的数据先存储再读取然后以读取的数据构成SQL查询形成SQL注入漏洞。为了更好理解举一个例子 某网站提供注册功能我们注册了一个名字为admin-- 的用户注册时特殊符号被转义为普通字符那我们就注册了一个admin--的用户注册后我们使用admin--登录后修改密码此时如果程序从数据库调用从外部保存下来的数据时并没有进行过滤没有做处理就直接执行了以下语句UPDATE users SET PASSWORD123456 where usernameadmin-- - 如果这时数据库中原本有一个admin的系统用户那么我们就成功修改了admin的密码。 由于二阶SQL注入是在第二次请求的页面中产生的所以需要指定二级响应的URL地址。选项--second-url用来设置二级响应的URL地址。 
--second-urlhttp://192.168.1.131/dvwa/ 7. 
7.自定义注入 
sqlmap在注入时生成无效参数一般情况下sqlmap会取已有参数的相反数作为无效参数。例如默认提交的参数为id1sqlmap会取相反数即id-1。如果不希望使用默认的方式可以通过一些选项设置让参数值无效如使用大数、使用逻辑运算等。 
--invalid-bignum可以强制使用大数让值使用前id-1,使用后如id9999 
--invalid-string可以强制使用随机字符串让值无效使用前id-1,使用后如iddfrgdf 
--risk 用来设置测试的风险范围为13。其中1会测试大部分的测试语句2会在默认的检测上添加大量时间型盲注语句测试 3会增加OR语句的SQL注入测试。 
设置请求线程和延迟 
--threads可以用来设置HTTP请求的线程数默认为1(线程数就是单位时间内发送的HTTP请求数) 
--delay用来设置每次请求的时间间隔默认没有延迟单位为秒 
清理痕迹 
--purge从本机sqlmap数据目录中安全地删除所有内容。所谓安全删除不仅仅是删除而是在删除前先用随机数据覆盖原有数据甚至对文件名和目录名也进行重命名以覆盖旧名称所有覆盖工作完成后才执行删除。 
--cleanup清除sqlmap注入时在目标DBMS中产生的UDF文件与各种表 
规避防火墙 
所有的Web服务器都会安装防火墙。如果防火墙探测到有异常请求将会阻止访问服务器的数据。由于SQL注入属于攻击行为所以在测试过程中可能会被目标的防护系统拦截导致测试失败。 
使用安全网址安全网址就是指访问会返回响应状态码200并且不会有任何报错信息的网址--safe-url可以用来设置使用的安全网址。还必须指定--safe-freq选项用于设置访问请求频率即每隔几个常规测试访问一次安全URL。 
–safe-urlhttp://192.168.1.31/sqli-labs/ --safe-freq2 
--safe-req用于从文件中加载安全网址的HTTP请求。该选项也必须与--safe-freq选项一起使用。 
-safe-post可以用来指定访问安全网址时通过POST方式提交的数据。该选项必须与选项--safe-url和--safe-freq配合使用。 
--safe-urlhttp://192.168.1.31/dvwa/login.php --safe-postusernameadminpasswordpassword --safe-freq2 
使用脚本绕过防火墙脚本保存在sqlmap安装目录的tamper文件夹中。--list-tampers用于列出所有可用的脚本。选项--tamper可以用来指定使用的Tamper脚本。用户也可以同时使用多个Tamper脚本之间使用逗号分隔如--tamperbetween,randomcase 
绕过CSRF防护 
1、由于Token每请求一次就会变化一次。所以由于该令牌不固定可能导致注入测试失败。如果请求的URL地中中包括了token参数sqlmap提供了选项--csrf-token用于指定控制Token的参数。–csrf-tokentoken 
2、如果注入测试的目标URL不包含必需的令牌就需要从其他位置提取令牌。sqlmap提供了选项--csrf-url可以用来指定获取令牌的网址。 
–csrf-tokentoken --csrf-urlhttp://192.168.1.31/login.php 
3、--csrf-retries可以用来设置反CSRF令牌重试次数默认为0 
HTTP污染技术 
HTTP参数污染是绕过WAF/IPS/IDS的一种技术选项--hpp用来使用HTTP污染技术。 
chunked传输编码方式 
chunked是HTTP报文头中的一种传输编码方式表示当前的数据需要分块编码传输--chunked可以用来启用chunked传输功能。 
总结如果常规扫描没有发现漏洞可尝试用以上方法再次扫描验证也许就有意想不到的收获。 
写在最后想要获取sqlmap更多的选项信息记得用-hh,而不是-h记忆方法哈哈找到了两个哈h