在bluecms6.1版本的ad_js.php处有xss漏洞

本文详细分析了BlueCMS 6.1版本中ad_js.php文件的xss漏洞,通过实验验证了该漏洞的存在,并展示了如何利用xss代码触发弹窗,揭示了变量过滤不严导致的安全风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在bluecms6.1版本的ad_js.php处有xss漏洞

a d i d = ! e m p t y ( ad_id = !empty( adid=!empty(_GET[‘ad_id’]) ? trim( G E T [ ′ a d i d ′ ] ) : ′ ′ ; i f ( e m p t y ( _GET['ad_id']) : ''; if(empty( GET[adid]):;if(empty(ad_id))
{
echo ‘Error!’;
exit();
}

$ad = d b − > g e t o n e ( " S E L E C T ∗ F R O M " . t a b l e ( ′ a d ′ ) . " W H E R E a d i d = " . db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =". db>getone("SELECTFROM".table(ad)."WHEREadid=".ad_id);

因为$ad_id没有经过很严密的过滤,这里可能存在注入和xss漏洞,注入漏洞当然是存在的,在之前的一篇写过。这里就测试是否存在xss

**这里传入的变量都经过创建的deep_addslashes函数里的addslashes()函数进行字符特殊字符转义。全部的’ 和"都进行/转义 **

搭建好bluecms网站,在ad_js.php页面

以get方式赋一个正常的值1给变量$ad_id

页面无空白:

赋值一个不正常的值,出现下面结果,在前端的body主体内出现error。。。一段。

如果我们赋$ad_id变量的值为一段xss利用代码,如果原样保存下来,那么在body主体内就可以执行这段js代码了,也就出现了xss漏洞

赋$ad_id变量的值为1’1<img src=1 alert (‘du’)>


因为这里的单引号被转义了,所以没有弹窗,但在body主体中确实已生成我们赋值的js代码

修改为1’1<img src=1 alert (/du/)>,发现成功弹窗

至此,这里存在xss漏洞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值