web学习笔记之命令执行喵
[TOC]
常见命令
在windows下面连接两条命令
| 符号 | 作用 |
|---|---|
| | | 直接执行后面的语句,无论前面的命令为真为假(如ping www.XXXX.com|whoami,会显示当前的用户名)【涉及数据传输,即将前一个命令的输出(STDOUT)作为后一个命令的输入(STDIN)】 |
| || | 如果前面的语句执行出错(命令为假),则执行后面的;若没出错,则执行前面的(如ping 2||whoami,会显示当前的用户名) |
| & | 前面的语句可真可假,都执行后面的命令(如ping 2&whoami) |
| && | 前面语句为真时,才执行后面的语句(如ping www.XXXX.com && whoami) |
在linux下面连接两条命令
| 符 号 | 作用 |
|---|---|
| | | 管道符,两个命令都执行(如ping -c 4 127.0.0.1 | whoami)【这里的“-c 4”是指要ping 4次,不然会一直ping下去】【涉及数据传输,即将前一个命令的输出(STDOUT)作为后一个命令的输入(STDIN),所以这里不显示第一个命令的输出,只显示第二个】 |
| || | 如果前面的语句执行出错(命令为假),则执行后面的;若没出错,则执行前面的 |
| ; | 执行完前面的命令就执行后面的命令(如ping -c 4 127.0.0.1;whoami) |
| && | 前面语句为真时,才执行后面的语句(如ping -c 4 127.0.0.1 && whoami) |
所以,到底怎么用啊歪!!!>︿<
不管了,上栗子~(题目来源于learnctf,侵权删)
1 |
|
分析:
1)来看这一段代码$output = shell_exec('ping -c 3 ' . $ip);,这里将ping -c 3和输入的$ip直接拼接字符串,并且使用 shell_exec命令,会导致PHP拼接命令并在服务器上执行。
2)如果我传入?ip=127.0.0.1;ls,那么PHP会将其拼接成ping -c 3 127.0.0.1;ls,服务器会先回环,再执行ls查看当前目录
3)然后我再将ls改为ls /,查看根目录,再改为cat /flag.php(如果flag藏在flag.php里)等等。就这样一步一步,就可以得到flag了喵~
总结一下,这些管道符的作用,其实就是在满足题目要求之余,通过拼接满足我自身的要求(拿到心爱的flag!!!)
空格绕过
网站怎么可能让Gloria这么容易获得flag呢o(一︿一+)o,通常会加一些限制,比如这里的空格绕过。
| 符号 | 注释 |
|---|---|
| $IFS$1 | $IFS是linux中一个内置的变量,是一个分隔符(可将其看成一个空格);$1是命令行传进来的第一个参数,因为不在脚本中执行(相当于一个空字符串) |
| {cat,flag} | / |
| cat<flag | “<”表示输入重定向,即把flag这个文件内容传给cat命令去显示 |
| cat<>flag | 也是一种重定向的方式 |
这里只是稍微改一下请求,就不贴例题了(步骤跟上面完全一样
关键词绕过(感觉类似黑名单绕过哎…?)
| 方法 | 注释 |
|---|---|
| 变量拼接 | a=fl;b=ag;cat $a$b (注意这里a和=之间、=和fl之间不可以有空格) |
| 反引号 | 反引号表示执行一条命令,并把结果显示出来(如echo “111`whoami`222”得到的是111Gloria222;如果反引号中间的命令无法执行,那么它就会变成一个空字符串,如echo “111`dthrd`222”,系统会报错,并输出111222) |
| 反斜杠 | \是转义符(如cat f\lag,但是flag没有什么好转义的,所以还是输入了cat flag) |
| 引号 | 单引号:如cat f’l’ag;双引号:如cat f”l”ag |
| 编码绕过 | 使用base64(以cat flag为例,输入`echo Y2F0IGZsYWc= |
emmm…还是来看一道小题叭( ̄︶ ̄)↗
1 |
|
无非就是管道符、空格绕过、关键词绕过三个都考了一下
这里空格➡$ISF$1
不能有=说明在考虑关键词绕过的时候base64被ban掉了,并且变量拼接也被ban掉了,所以去考虑反引号、反斜杠之类的
我们先使用?ip=127.0.0.1;ls$IFS$1/查找到flag_b54ef9446.txt
再使用?ip=127.0.0.1;cat$IFS$1/fl\ag_b54ef9446.txt,获得flag
OK,命令执行先到这里喵~Gloria会去找几道题练练手的喵
应该是会写另一篇做题的博客的(应该➡_➡
Leave a comment