Xdcms 2.0.8 SQL注入

在网上下载好xdcms2.0.8版本,安装后进行代码审计测试

漏洞位置:D:\audit\xdcms\system\modules\member\index.php

在会员注册的位置出现了SQL注入

Xdcms 2.0.8 SQL注入_第1张图片
注册

注册页面有5个参数,分别是

username,password,password2,fields[truename], fields[email]

抓包可获取到

看一下具体代码,

插入数据库

Username,password变量以sql插入语句进入数据库,在之前进行了安全过滤。

Xdcms 2.0.8 SQL注入_第2张图片
安全过滤

即使用safe_html函数进行过滤

但是fields[truename], fields[email]这两个参数以更新的方式进入数据库,且没有安全过滤

漏洞由此产生

看代码

Xdcms 2.0.8 SQL注入_第3张图片
传值

$field_sql为

上面进行的注册

我们对file[truename]这个参数进行利用,抓包进行修改参数

利用exp

漏洞利用:使用的exp为

xxxx' orupdatexml(2,concat(0x7e,(database())),0) or '

Xdcms 2.0.8 SQL注入_第4张图片
爆出数据库

注意:因为用户名不能重复,所以每次放包都要修改username

爆出当前用户
Xdcms 2.0.8 SQL注入_第5张图片
success

使用报错语句可爆出更多内容

update  c_member  set  `truename`='abZXc'   or updatexml(0,concat(0x7e,(SELECT  concat(table_name) FROM information_schema.tables  WHERE  table_schema=database()  limit  0,1)),0)  or '',`email`='sadssds'  where  userid=1

使用phpmyadmin进行测试

当前数据库xdcms
使用limit分别遍历
Xdcms 2.0.8 SQL注入_第6张图片
获取数据

更多注入语句,参考

http://www.vuln.cn/6772

你可能感兴趣的:(Xdcms 2.0.8 SQL注入)