xss绕过代码后端长度限制的方法

这篇文章是我近期在审计一套 CMS 的时候顺便写的。

一般来讲程序对于输入字符长度进行限制的方法主要分两种,一种是前端的长度限制,这种的绕过只需要修改前端源码即可,或者本地构造一个表单。

本次审计的这套 CMS 存在一个 XSS 漏洞,由于日志入库验证不严格导致存在该漏洞,只需要尝试登陆即可写入 payload 。

$uid = 0;

$cfrom = $this->method->request('cfrom', $cfrom);

$token = $this->method->request('token');

$device= $this->method->request('device', $device);

$ip = $this->method->request('ip', $this->method->ip);

$web = $this->method->request('web', $this->method->web);

$cfroar= explode(',', 'pc,reim,weixin,appandroid,appiphone,mweb');

if(!in_array($cfrom, $cfroar))return 'not found cfrom';

if($user=='')return '用户名不能为空';

if($pass==''&&strlen($token)<8)return '密码不能为空';

$user = addslashes(substr($user, 0, 20));

$pass = addslashes($pass);

$logins = '登录成功';

$msg = '';

$fields = '`pass`,`id`,`name`,`user`,`face`,`deptname`';

$arrs = array(

'user' => $user,

'status|eqi' => 1,

'type|eqi' => 1,

'state|neqi' => 5

);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值