WebShell挑战赛:https://bsrc.baidu.com
活动简介
百度安全WebShell检测引擎采用先进的动态监测技术,结合多种安全检测引擎,已面向行业服务多年,现诚邀各位业界同仁前来进行绕过挑战!
活动时间
2021年4月19日11时-4月25日24时
活动地点
WebShell挑战赛:https://bsrc.baidu.com
主办方
BSRC
活动详情
WebShell,是一种可以在Web服务器上执行脚本或者命令的后门,外部入侵者可通过入侵网站上传WebShell后获得服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除Web页面、修改主页等一系列的操作,其危害不言而喻。
那么,一款高查杀率、高性能、准确度高的WebShell检测工具就极为重要。
百度安全WebShell检测引擎采用先进的动态监测技术,结合多种安全检测引擎,已面向行业服务多年,现诚邀各位业界同仁前来进行绕过挑战!
挑战规则
(1)上传PHP WebShell至检测引擎http://webshell.baidu.com/ ,验证其能否绕过检测
(2)绕过检测引擎的WebShell,经测试能够在官方给出的PHP运行环境中稳定运行
(3)提交绕过报告至case
PHP运行环境:
docker pull openrasp/php-webshell-test:latest
docker run -it -p 8888:80 -v /本机测试目录:/usr/share/nginx/html openrasp/php-webshell-test:latest
在挂载的目录写入需要测试的php webshell文件,访问本机8888端口对应文件即可测试
case提交规范
(1)提交case至BSRC官网,地址https://bsrc.baidu.com
(2)提交BSRC时必须勾选活动【WebShell挑战赛】,漏洞名称以”【WebShell挑战赛】”开头
(3)提交BSRC内容:WebShell文件源代码+完整有效的curl利用方式+成功截图+绕过原理或绕过思路
注:WebShell文件源代码,源代码较大可以以附件形式提交
完整有效的curl利用方式,例如:
curl ‘http://127.0.0.1/shell.php?cmd=id
(4)case提交示例:
源代码
<?php
$a = base64_decode ($_GET[‘cmd’]);
system($a);
利用方法
curl “http://127.0.0.1/shell.php?cmd=`echo whoami | base64`”
whoami为要执行的命令
原理说明
通过base64解码绕过system函数的参数敏感字符检测
成功绕过case判定标准
WebShell指可以通过控制对该文件的HTTP请求参数(包括但不限于 GET/POST/HTTP Header方式) 实现执行任意代码或命令,如eval($_POST[‘code’]) , system($_GET[‘cmd’])
以下类型的绕过case被判定无效
(1)通过大量占用系统资源实现的检测绕过
(2)通过多个PHP文件组合实现的绕过
(3)硬编码命令,如system(‘id’);
(4)WebShell不能稳定触发,或是依赖于非默认的特定环境等
重复case判定标准
按照WebShell的原理,我们将webshell的执行分为数据输入、数据传递、数据执行三个阶段,例如以下WebShell:
<?php
system(base64_decode ($_POST[‘cmd’]));
读取POST数组为数据输入阶段,base64解码为数据传递阶段,system为数据执行阶段,对于在同一阶段使用相似原理实现绕过的case,或是绕过引擎同一个检测点的case,我们将视情况判定为重复。
奖励规则
对于每个不重复的有效绕过case,奖励税后1000元,折合200安全币,但该积分不参与其他活动,包括但不限于月度奖励、翻倍活动、积分累计活动等。
其他注意事项
(1)禁止对本站使用DDOS、扫描或其他方式攻击
(2)禁止使用大量样本对引擎进行fuzz测试
(3)不得私自公开绕过技巧及样本