基于某商城CMS的渗透测试

目录

NiushopCMS渗透测试

站点首页

信息收集

弱口令爆破

文件上传漏洞

在个人中心的个人资料当中存在文件上传点

后台用户当中的个人资料当中,存在文件上传点

后台文章管理处,同样存在文件上传点

业务逻辑漏洞

XSS

SQL注入


NiushopCMS渗透测试

站点首页

信息收集

 检索ip信息,获取网站的信息

 发现22端口存在高危

 御剑扫描端口信息

 发现开放以上端口信息

 nmap扫描信息

扫描出来端口的信息:

 扫描目录

状态码为200的:

其他目录信息:

弱口令爆破

 刚刚信息收集,发现22端口开放,存在高危,尝试弱口令爆破

 连接失败,说明可能不是弱口令

 尝试弱口令爆破数据库

 同样没有检查出,可能不存在弱口令

尝试登录后台:

 尝试输入账号密码,抓包进行爆破
 可以先尝试使用账号admin,模式选择狙击手进行爆破,看是否能爆破成功

抓包获取数据,发送给Intruder模块,选择狙击手模式:

选择密码字典,进行爆破

 通过观察,根据长度,做出判断

密码为:admin123456

 成功登录后台
 账号:admin
 密码:admin123456

可以添加新管理员用户:

文件上传漏洞

在个人中心的个人资料当中存在文件上传点

 找到文件上传点

 尝试上传,抓包获取数据信息,成功上传文件,查看上传文件的路径

寻找上传图片的路径

 上传成功,进行查看

 访问文件上传点,php语句被解析,查看成功创建了木马文件,访问并尝试执行php语句

 使用哥斯拉连接,成功拿到服务器权限

后台用户当中的个人资料当中,存在文件上传点

 尝试上传图片,抓包修改数据信息,将php语句插入到图片当中,然后放包,查看上传成功

 访问对应的上传路径,查看是否被解析

 成功被解析。将php语句换成一句话木马,或者使用php一句话生成文件并写入木马
 以php一句话生成文件并写入木马为例,一句话木马也是同样的原理

修改上传文件的后缀,将php木马语句插入到图片当中去,放包即可

成功上传,验证是否被解析

访问对应上传链接

验证我们刚刚插入的一句话当中,生成的木马文件是否成功生成,并能被解析

 使用蚁剑或者哥斯拉进行连接

连接成功,添加即可

后台文章管理处,同样存在文件上传点

 尝试过程同以上一致,语句可以是一句话木马或者一句话生成文件并写入木马,抓包插入到图片当中去
 尝试的上传方法同以上大致相同

访问后,输入php语句,被解析

 第三方工具蚁剑进行连接

连接成功

获取服务器权限成功:

其他等多出文件上传点,可依次尝试此方法。(同理,一致的思路和方法进行上传测试验证即可)

业务逻辑漏洞

任意购买商品,抓包修改数据包中的(数量信息)num信息

抓取数据包

放包即可,下一个数据包也是如此,将num改为-1

连续修改两个数据包,将其中的num改为-1即可,然后放包(num选几都可以,数量随意,修改时前面加负号即可)

继续放包,然后可以看到,支付0元

 发现此方法执行后,会弹出库存不足的界面。我们尝试再次修改数量,改为0.000001再次尝试

我们再来随机选择一个商品:

点击购买:

抓取数据包,修改数据包信息:

修改购买数量

放包即可,再次观察第二个数据包:

再次修改

放包即可。

出现支付界面:

成功支付订单:

去会员中心我的订单中查看:

可实现0元购物。

 还存在优惠券反复使用的业务逻辑漏洞,支付界面中提交订单后,抓包获取数据包,多次发送数据包,返回都是操作成功。去个人界面查看订单,优惠券是否被反复利用,是否成功。

XSS

 在有交互的地方,都可以依次去尝试看是否存在xss

在后台的网站中的文章管理当中

尝试保存以后,验证一下是否有弹窗。

 预览效果,发现弹窗

文章中心处会,出现弹窗。

 同理获取cookie信息

 成功获取cookie信息

可借助xss平台来进行信息探测,绕过登录

 将此恶意语句代码,插入到其当中

去访问一下创建的界面

 平台记录了信息

展开查看信息内容

展开后的信息:

 将以上的url信息和cookie信息保存,利用hackbar,绕过登录

回退到前台,使用刚刚的url和cookie信息,尝试绕过登录

成功绕过:

成功绕过,进入后台管理界面。

经过查看验证测试发现:

在基础设置处,经过测试还存在XSS

 前台观察其弹窗变化

经过测试发现,此类型为存储型XSS

跳转其他位置也会弹窗:

其他有交互地方,同理存在漏洞,反复尝试即可。

SQL注入

 经过验证,发现前台存在sql注入

注入点:

抓包获取数据,保存到sqlmap目录下的txt文件当中

利用工具sqlmap跑:

 经过测试sqlmap无法跑出数据库,无法爆库爆表。

同样的位置,在价格等多出,同样存在sql注入:

注入点存在报错:

再次利用工具sqlmap尝试跑:

布尔类型注入:

python sqlmap.py -r test.txt  --technique=B --batch

成功跑出:

跑出可成功注入的方法和payload

注入类型和payload:

爆数据库
 python sqlmap.py -r test.txt  --technique=B --batch --dbs

找到我们对应网站的数据库,然后进行爆表。

接下来进行爆数据表

爆数据表
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c  --tables

等待过后,数据表信息出现:

 数据库当中的数据表信息如下,成功爆出

由此可见,数据表的数量之多

 通过观察发现,找到我们想要的,重要的数据表
 猜测是sys_user
 爆数据表当中的字段,获取列的信息

 尝试爆破
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c -T sys_user_admin --columns

sys_user_admin数据表:

 表中列的信息被成功爆出

通过观察,没有我们想要的信息。继续爆其他数据表。

sys_users数据表:

获取数据表当中的列的信息:
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c -T sys_user --columns

效果如下图所示:

观察到有比较敏感的数据信息,username和password

得到以上信息后,接下来我们继续爆破字段信息:

尝试爆破列的信息,爆破字段,获取重要的信息用户名和密码
 ​
 python sqlmap.py -r test.txt  --technique=B --batch -D niushop_b2c -T sys_user -C user_name,user_password --dump

部分数据信息:

猜测数据密码由MD5加密,尝试使用MD5进行解密,随机找到一个进行尝试:

继续等待爆数据信息。

 查看更多的用户和密码信息

观察到admin信息,进行解密

获取admin用户和密码信息

 爆破成功,获取用户和密码信息成功

 爆破数据库成功!

经过验证,发现后台存在sql注入点:

设置当中的数据库管理中的查询界面

出现报错信息

 抓包获取数据包,将其放在sqlmap的目录下,利用sqlmap跑

sqlmap跑数据:

 爆数据库
 python sqlmap.py -r test.txt --batch --dbs

等待过后:

sqlmap工具无法跑出。但存在SQL注入,可尝试其他方式进行注入。

后台的用户处,还存在sql注入点:

 尝试注入

注入后,报错:

 抓取数据包,保存致sqlmap的目录下的文本文件当中去

使用sqlmap工具跑数据:

跑出了注入语句以及数据库

 爆数据库
 python sqlmap.py -r test.txt --batch --dbs

 确定当前所使用的数据库
 python sqlmap.py -r test.txt --batch --dbs --current-db

 爆数据库中的数据表
 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c --tables

 找到我们需要最重要的数据表,获取其中的信息

 初步判断是这个表
 接下来进行爆破表中的列信息
 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c -T niushop_b2c --columns

 找到我们最想要的列的信息,username和userpassword
 ​
 爆破username和userpassword
 python sqlmap.py -r test.txt --batch --dbs -D niushop_b2c -T sys_user -C user_name,user_password --dump

部分用户信息:

 通过分析密码是MD5加密,随机找一个密码进行解码

解码成功。

 观察发现,sqlmap当中跑出数据后,一些password解码了。在加密后的括号当中是解码之后的信息。

内容仅供参考、学习。

文章不妥之处,欢迎批评指正! 

猜你喜欢

转载自blog.csdn.net/rumil/article/details/131170454