首页/杀毒教程/内容

sqlmap用户手册[续篇]

杀毒教程2023-04-03 阅读()
随着网络的普及,我们的生活越来越方便,但是网络安全也成了很多人面临的一个问题。特别是那些有着商业数据的企业电脑,更要注意上网安全常识,不然病毒会对我们造成严重的威胁。

ps:其实看到zone里很多问sqlmap的问题在通读看完那篇文章后都能解决。可惜啊,现在的人通读看文章的耐心都没有了,遇到了哪个问题就想起针对这个问题求助,却不知道仔细看完之后,以后可以省多少时间来求助,吐槽完毕,正文开始:

对Windows注册表操作
当数据库为MySQL,PostgreSQL或Microsoft SQL Server,并且当前web应用支持堆查询。 当然,当前连接数据库的用户也需要有权限操作注册表。

读取注册表值

参数:-reg-read

写入注册表值

参数:-reg-add

删除注册表值

参数:-reg-del

注册表辅助选项

参数:-reg-key,-reg-value,-reg-data,-reg-type

需要配合之前三个参数使用,例子:

$ python sqlmap.py -u http://192.168.136.129/sqlmap/pgsql/get_int.aspx?id=1 --reg-add --reg-key="HKEY_LOCAL_MACHINESOFTWAREsqlmap" --reg-value=Test --reg-type=REG_SZ --reg-data=1
 
常规参数
从sqlite中读取session

参数:-s

sqlmap对每一个目标都会在output路径下自动生成一个SQLite文件,如果用户想指定读取的文件路径,就可以用这个参数。

保存HTTP(S)日志

参数:-t

这个参数需要跟一个文本文件,sqlmap会把HTTP(S)请求与响应的日志保存到那里。

非交互模式

参数:-batch

用此参数,不需要用户输入,将会使用sqlmap提示的默认值一直运行下去。

强制使用字符编码

参数:-charset

不使用sqlmap自动识别的(如HTTP头中的Content-Type)字符编码,强制指定字符编码如:

--charset=GBK
爬行网站URL

参数:-crawl

sqlmap可以收集潜在的可能存在漏洞的连接,后面跟的参数是爬行的深度。

例子:

$ python sqlmap.py -u "http://192.168.21.128/sqlmap/mysql/" --batch --crawl=3
[...]
[xx:xx:53] [INFO] starting crawler
[xx:xx:53] [INFO] searching for links with depth 1
[xx:xx:53] [WARNING] running in a single-thread mode. This could take a while
[xx:xx:53] [INFO] searching for links with depth 2
[xx:xx:54] [INFO] heuristics detected web page charset 'ascii'
[xx:xx:00] [INFO] 42/56 links visited (75%)
[...]

规定输出到CSV中的分隔符

参数:-csv-del

当dump保存为CSV格式时(-dump-format=CSV),需要一个分隔符默认是逗号,用户也可以改为别的 如:

--csv-del=";"
 
DBMS身份验证

参数:-dbms-cred

某些时候当前用户的权限不够,做某些操作会失败,如果知道高权限用户的密码,可以使用此参数,有的数据库有专门的运行机制,可以切换用户如Microsoft SQL Server的OPENROWSET函数

定义dump数据的格式

参数:-dump-format

输出的格式可定义为:CSV,HTML,SQLITE

预估完成时间

参数:-eta

可以计算注入数据的剩余时间。

例如Oracle的布尔型盲注:

$ python sqlmap.py -u "http://192.168.136.131/sqlmap/oracle/get_int_bool.php?id=1" -b --eta

[...]
[hh:mm:01] [INFO] the back-end DBMS is Oracle
[hh:mm:01] [INFO] fetching banner
[hh:mm:01] [INFO] retrieving the length of query output
[hh:mm:01] [INFO] retrieved: 64
17% [========>                                          ] 11/64  ETA 00:19
 

然后:

100% [===================================================] 64/64
[hh:mm:53] [INFO] retrieved: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

web application technology: PHP 5.2.6, Apache 2.2.9
back-end DBMS: Oracle
banner:    'Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod'
 
sqlmap先输出长度,预计完成时间,显示百分比,输出字符

刷新session文件

参数:-flush-session

如果不想用之前缓存这个目标的session文件,可以使用这个参数。 会清空之前的session,重新测试该目标。

自动获取form表单测试

参数:-forms

如果你想对一个页面的form表单中的参数测试,可以使用-r参数读取请求文件,或者通过-data参数测试。 但是当使用-forms参数时,sqlmap会自动从-u中的url获取页面中的表单进行测试。

忽略在会话文件中存储的查询结果

参数:-fresh-queries

忽略session文件保存的查询,重新查询。

使用DBMS的hex函数

参数:-hex

有时候字符编码的问题,可能导致数据丢失,可以使用hex函数来避免:

针对PostgreSQL例子:

$ python sqlmap.py -u "http://192.168.48.130/sqlmap/pgsql/get_int.php?id=1" --banner --hex -v 3 --parse-errors

[...]
[xx:xx:14] [INFO] fetching banner
[xx:xx:14] [PAYLOAD] 1 AND 5849=CAST((CHR(58)(北联网教程,专业提供视频软件下载)

第1页  第2页  第3页  第4页  第5页  第6页  第7页  第8页  第9页  第10页  第11页  第12页  第13页  第14页  第15页  第16页  第17页  第18页  第19页  第20页  第21页  第22页  第23页  第24页  第25页  第26页  第27页  第28页  第29页  第30页  第31页 

……

相关阅读