pymongo update_one执行成功返回值_Web渗透攻击实战(1)—成功渗透某净化设备公司官网...

本文介绍了通过pymongo update_one的SQL注入漏洞,成功渗透一家中国台湾净化设备公司的网站过程。作者首先分析网站结构,找到参数传入的页面,然后进行SQL注入测试,确定注入点并获取查询长度,进一步得到数据库的相关信息,如版本、数据库名和登录用户。
摘要由CSDN通过智能技术生成

写在前面

作为一个防御型白帽黑客

你一定要知道黑客的进攻套路

才能有相应的防御措施

声明:只做测试,发现对方的漏洞,并不进行破坏性操作

b7a4827809f06cb4711b4f2948e56f4d.png

1、 网站分析

地址:http://www.xxx.com.tw/

这是一家中国台湾地区的网站,看着满屏的繁体字,就不是很舒服

网站首页包括:关于我们、资料下载、联络方式等等。

这些对我们进行sql注入用处并不大

我们需要的是可以进行参数传入的页面,这样我们就可以在参数里做文章

776d79348b8f245d0deeeda59342dd33.png

找一下 有没有新闻列表相关的页面

页面列表详情等页面,一般都是根据不同的id 返回不同的页面

OK,我们发现了这个产品详情页面。

我们仔细观察网址结构:

http://www.xxx.com.tw/page.php?id=133

f35272ffae6856410328ec2aee01a77c.png

换一个id=132

返回了一个新的产品页面

8cd947f752e954acf660b2389851f636.png

说明页面是根据不同的id输入值,进行返回的

我们就找到注入口了

2、 初步渗透

#语法错误探测在网址后面添加 ' / % ! 等一些会引起查询错误的标点符号目的就是造成后台运行错误从而拿到数据库的报错信息在报错信息中,获取网站的数据库版本、绝对路径等相关信息

在网址添加单引号,发现网站回复为空

说明:网站屏蔽了后台错误回显

这一点安全防护做的还可以

3da99075cfad46eab2e9299124ef7eed.png

3、 注入sql测试

在id=133的页面,注入语句 and 1=2

id=133是正常查询,注入一个永远为false 的bool值 and 1=2

页面返回为空

85c73534ca865b9188573e8bebb97a0e.png

在id=133的页面,注入永为true的bool语句 and 1=1

发现页面返回恢复正常

b01b5fb2cff6c0b2933c28568368a01c.png

简单分析:注入1=2时,页面无返回值,注入1=1,返回值恢复正常。

说明我们注入的sql语句,被成功执行了。

漏洞暴露出来了!!!

88a7814cfa946908254429a875fdc7b1.png

4、获取查询长度

成功判断地址可以注入之后

我们需要获取page.php?id=133调用的select语句内的字段数量 

获取了字段数量我们才可以在后面进行union select我们自己的查询

union select 1,2,3,4,5...穷举法进行长度测试

当union的长度与page.php长度不一致时,自然会执行错误,自然就不会有返回值

44f8a4a7716849e565346e82635238b3.png

当执行成功时,说明我们的注入长度猜测成功了

union select 1,2,3,4,5,6,7,8,9 需要9个字段进行union拼接

并且,我们还发现3 和 4是我们的两个注入点

6040daa7d19621bd348a4c532b325a17.png

c67d29015902705f6805ace5227d390c.png

5、获取数据库相关信息

#拼接注入连接http://www.xxx.com.tw/page.php?id=133 union select 1,2,version(),current_user(),5,6,7,8,9version()       #获取数据库版本current_user()  #获取当前登录用户database()      #获取当前数据库...#通过将一些获取数据库信息的函数注入到查询语句中,从而获取目标数据库的信息。

49e96a3ebab829d1640c0f6483b16099.png

6119f609b9edd25c5677132b493814d5.png

6、通过注入,我们拿到了数据库的初步信息

数据库版本:mysql5.7.31

当前数据库:jiuyu_jiuyu

当前登录用户:jiuyu@localhost

小结:该网站并没有使用root用户来执行数据库查询,还算是比较安全

但是我们还是可以通过sql注入来获取数据库的相关表结构及数据。

未完待续(To Be Continued...)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值