当前位置:   article > 正文

sqlmap基本常用技巧(非常详细)零基础入门到精通,收藏这一篇就够了_sqlmap --technique

sqlmap --technique

一、–technique介绍

  • 作用:使用指定的注入方式,支持多种注入检测,默认是全部

  • 比如:有些SQL注入点只允许时间注入,这时就指定注入类型为T

  • –technique参数值解释

  • B:Boolean-basedblindSQLinjection(布尔型注入)

  • E:Error-basedSQLinjection(报错型注入)

  • U:UNIONquerySQLinjection(可联合查询注入)

  • S:StackedqueriesSQLinjection(可多语句查询注入)

  • T:Time-basedblindSQLinjection(基于时间延迟注入)

  • Q:InlineSQLInjection(内联注入)

二、使用基于时间的延时注入

  • 参数T:基于时间延迟注入

  • sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -v 3 -D pikachu --technique=T
    
    
    • 1
    • 2

三、注入时使用随机的HTTP User-Agent

  • –random-agent:用于随机选择一个User-Agent头来进行HTTP请求。

  • User-Agent头是一个HTTP请求头,它告诉服务器关于发送请求的客户端的信息,例如浏览器类型、版本和操作系统等。

  • 使用–random-agent参数的好处在于:

  • 避免触发安全限制:某些网站可能会基于User-Agent头来限制或阻止某些已知的自动化工具或浏览器的访问。通过使用随机选择的User-Agent头,sqlmap可以更容易地绕过这些限制。

  • 提高隐蔽性:使用随机User-Agent头可以使sqlmap的请求看起来更像是来自真实用户的浏览器,而不是自动化的脚本或工具,从而增加隐蔽性。

  • 使用–random-agent参数时,sqlmap会从其内置的User-Agent列表中随机选择一个User-Agent头,或者使用外部文件中定义的User-Agent列表(如果提供了相应的文件路径)。这样,每次执行sqlmap时,都会使用不同的User-Agent头,从而增加成功执行SQL注入攻击的机会。

  • sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -v 3 -D --random-agent
    
    
    • 1
    • 2

四、设置延迟时间

  • –time-sec参数:用于设置时间盲注(Time-based blind SQL injection)中的延迟时间,以秒为单位。时间盲注是一种在无法直接从数据库错误消息中获取信息的情况下,通过测量查询执行时间的变化来推断数据库结构或数据的技术。

  • 具体来说,当你对目标进行SQL注入测试,并且该目标使用了错误抑制机制,导致传统的基于错误的SQL注入技术无法使用时,你可以尝试使用时间盲注。在这种技术中,攻击者会向数据库发送一个可能会导致延迟的查询,并测量该查询的响应时间。通过比较不同的查询响应时间,攻击者可以推断出查询是否成功执行,进而获取有关数据库结构或数据的信息。

  • –time-sec参数允许设置这个延迟时间的阈值。例如,如果设置–time-sec=5,那么sqlmap会认为如果某个查询的响应时间比正常响应时间高出5秒或更多,那么这个查询可能是成功的。

  • 需要注意的是,时间盲注通常比其他SQL注入技术更慢、更不可靠,并且更容易被目标网站的安全措施检测到。因此,在使用这种技术时,你需要确保你的测试是合法和授权的,并且要谨慎操作以避免对目标网站造成不必要的影响。

  • 默认是五秒

  • sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -v 3 -D pikach --technique=T --time-sec=6
    
    
    • 1
    • 2

五、设置超时时间

  • –time-out参数:用于设置 HTTP 请求的超时时间。当 sqlmap 发送 HTTP 请求到目标服务器时,如果服务器没有在指定的时间内响应,那么这个请求就会被认为是超时的。

  • 后面通常跟着一个整数,表示超时的时间(以秒为单位)。

  • 例如,–time-out=10 会设置超时时间为10秒。

  • 这个参数对于控制 sqlmap 的行为非常有用,特别是在以下情况下:

  • 慢速的服务器响应:如果目标服务器响应非常慢,你可能需要增加超时时间,以确保 sqlmap 不会过早地放弃请求。

  • 防止被目标服务器检测:通过减少超时时间,你可以使 sqlmap 的请求看起来更像正常用户的请求,因为正常用户的浏览器通常不会等待很长时间来获取响应。这有助于降低被目标服务器检测为自动化工具的风险。

  • 优化扫描速度:如果你希望加快 sqlmap 的扫描速度,可以设置一个较短的超时时间,这样它会更快地放弃不响应的请求,并继续尝试其他可能的注入点。

  • 默认是30s

  • 简单来说就是:设置超时时间,有得网页响应比较慢,可以使用这个参数来增大访问超时的时间

  • 注意:–time-out参数仅影响sqlmap等待服务器响应的时间,它并不会影响实际的SQL注入攻击过程。此外,超时时间设置得太短可能会导致sqlmap错过一些有效的注入点,而设置得太长则可能会增加被目标服务器检测到的风险。

  • sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" --dbms mysql -v 3 -D pikachu --timeout=10
    
    
    • 1
    • 2

六、读取文本进行SQL注入检测

  • -r参数:读取文本文件

  • 首先用burp抓包,将抓到的内容保存到一个文本文件里

  • 然后用sqlmap命令调用这个文本文件

  • sqlmap -r sql.txt --dbms mysql -v 1 --batch
    
    
    • 1
    • 2

七、指定参数进行注入

  • -p:指定需要测试的参数

  • sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1&submit=%E6%9F%A5%E8%AF%A2" -p name --dbms mysql -v 1
    
    
    • 1
    • 2

八、使用*进行注入

  • 如果URL是伪静态的时,可以使用*号表示这是需要检测的地方

  • sqlmap -u "http://192.168.1.107/pikachu/vul/sqli/sqli_str.php?name=1*&submit=%E6%9F%A5%E8%AF%A2"
    
    
    • 1
    • 2

九、POST注入

  • –data参数:用于向服务器发送一个自定义的POST请求数据。这通常用于那些需要通过POST方法提交数据的Web表单。当你需要测试一个需要POST数据的页面上的SQL注入漏洞时,你可以使用–data参数来指定这些数据。

  • sqlmap -u http://192.168.1.107/pikachu/vul/sqli/sqli_id.php --data "id=1&submit=%E6%9F%A5%E8%AF%A2" -p id -v 1
    
    
    • 1
    • 2

十、cookie注入

  • –cookie参数:用于在 HTTP 请求中设置Cookie。这对于需要身份验证或依赖Cookie的网站特别有用,因为Cookie通常用于跟踪用户会话和存储身份验证信息。

  • 当目标网站需要用户登录才能访问某些页面或执行某些操作时,可能需要提供一个有效的Cookie 来模拟已登录的用户状态。通过使用 --cookie 参数,可以将 Cookie 添加到HTTP请求头中,从而绕过身份验证机制,直接访问受保护的资源。

  • –level的等级要大于等于2才能进行cookie注入

  • sqlmap -u "http://192.168.87.129/shownews.asp" --cookie "id=27" --dump -T admin -C "user,password" --level2
    
    
    • 1
    • 2

本文转自 https://mp.weixin.qq.com/s/PWTTEPsUu5Z2WJ4Ck-NiVA,如有侵权,请联系删除。

题外话

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

推荐阅读
相关标签