【转】Python渗透测试工具:sqlmap

【转】:

内中的乃是一款开放源码渗透测试工具, 其能够自动展开检测, 借助SQL注入漏洞, 进而达成接管数据库服务器的进程。

它配备了一个强大的检测引擎, 该引擎适用于许多特色功能, 这些特色功能用于渗透测试, 还能从数据库特征识别, 能从数据库获取数据, 能访问底层文件系统, 并且能在操作系统上执行命令。

官方网站:

SQL and tool

常见疑问:

/

下面通过一个例子来进行讲解。

安装方式:

复制代码
pip install sqlmap

是否支持:

复制代码
$ python sqlmap.py  -h
[CRITICAL] incompatible Python version detected ('3.5.2'). For successfully runn
ing sqlmap you'll have to use version 2.6 or 2.7 (visit 'http://www.python.org/d
ownload/')

测试环境:

网站是在本地搭建起来的, 它存在sql注入点, 该网站的网址是:58031/bbs/index.asp。

要自行搭建一个存在漏洞的测试网站, 要是你没有恰当的测试网站, 那就可以去关注微信公众号: 学点编程吧来获取。

供测试使用的简易BBS, 是由asp与数据库编写而成此网站, 运行后的效果如下:

好了,有了具体的测试网站,接下来就开始我们渗透测试了。

留意: 仅仅是用以检测以及利用sql注入点的, 并不可以扫描出网站存在哪些漏洞, 在使用之前请先借助扫描工具找出sql注入点。

检测注入点是否可用

这里我们首先要进入.py所在目录,默认应该在目录:

C盘下的Lib子目录里的site - 目录下的Lib子目录里的site - 目录下的目录下, 执行.py文件, 其参数为 -u , 值是":58031/bbs/show.asp?id=351"。

参数:

-u:指定注入点url

结果:

其中:

一个(基础性的)测试展示出, 获取 "标识符" 这件事有可能是。

( DBMS: ' ')

(XSS)测试表明, 获取'id'这一行为, 有可能存在漏洞。

to cross-site

依据上述给出的信息, 我们能够了解到, 这个网址链接很有可能存在着注入方面的漏洞, 还会面临跨站脚本攻击这种情况。

其后端的DBMS看上去好似是" "。 是否需要略过专门针对其他DBMS的测试有效部分。

这里, 我们做出选择, 选的是Y。后面存在几个需要我们进行选择的部分, 对于那些, 我们通通选Y。最后, 给我们一个, 检测之后得出的结果。

注入结果展示:

(1)纳入参数id属于GET此种注入方式, 被注入的类型是, 基于盲目性质的那种。

(2)数据库类型为:

存在着好些询问语句, 这得让用户去进行输入, 如果在输入这件事上你出现了懒得去做或者根本就不晓得怎么样做的情况, 那么是能够让程序自行去输入的, 只需要额外增添一个参数就行, 相关命令如下:

你的内容似乎有格式错误和不太清晰的表述, 不太准确理解需求进行准确改写。请你检查并明确一下内容后重新提交, 以便我能提供更贴合的改写。

结果如下:

猜测表名

一条命令即可曝出该表名,命令如下:

C盘下的Lib文件夹, 里面的site - 文件夹路径下,执行.py文件, 使用 -u 参数, 参数值为":58031/bbs/show.asp?id=351", 后面跟着两个短横线。

参数:

---:前面有两条杠,请看清楚。

结果:

难道, 你, 想要, 去, 使用, 表格, 检查?

是否要使用公共表存在检查存在? 输入"Y"

enter of ?

Enter for 1 ()

请输入线程数?

输入 1 (当前)

而后要求你键入线程数, 在此处输入10, 线程数切勿输入得过大, 不然会给出错误提示。

然后通过猜测我们得到了相应的表名:admin、bbs

结果:

猜测表中的列名

晓得了数据库里头表的名字, admin、bbs , 正常情形下, 用户名以及密码是存于admin表里边的, 故而我们采用猜测admin表中的列名手段。

C盘下的Lib文件夹里的site - 路径下, 执行.py文件, 使用 -u参数, 跟随":58031/bbs/show.asp?id=351", 同时使用 --参数, 指定 -T为"admin"。

结果:

在admin表里头, 有这么两个字段是存在的, 如此一来, 请留意, 如果能够猜测出该列当中的内容, 依此便可得到admin的登录用户名了, 还有密码也能获取到。

假设列内的内容是, C:\\Lib\site - sqlmap> , .py , 减去 u参数值为":58031/bbs/show.asp?id=351" 操作下 , 携带两个指定的值, 一个是dump行动下 , 另一个是针对T参数设置为"admin" , 再另一个又是针对C参数设置为空字符串""。

结果:

看到用户名是admin, 密码是12345等等, 我用admin, 用12345, 去测试看看。

验证结果

结果是验证成功的,测试结果如下:

总结

这仅仅是一回模拟性质的测试, 借助对网站用户名以及密码予以破解, 当然后续你能够凭借上传之类的手段, 获取到主机的控制权限, 这属于后面要说的事, 最终放置一段涵盖全部内容的操作记录动画。

相关推荐
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时2 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊2 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1232 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero072 天前
Jev 与 Laya
python·语言模型