–DVWA-command injection
2016-07-28 15:30
239 查看
原文地址:http://www.fwqtg.net/注入技术-dvwa之命令注入.html
(转载了部分内容)
Command Injection,即命令注入攻击,是指由于Web应用程序对用户提交的数据过滤不严格,导致黑客可以通过构造特殊命令字符串的方式,将数据提交至Web应用程序中,并利用该方式执行外部程序或系统命令实施攻击,非法获取数据或者网络资源等。
一、低等级命令注入
1.1 使用浏览器打开
http://靶机IP:8080/dvwa/login.php,输入admin/admin进行登录
1.3
登录后页面选择Command Execution.
点击查看源代码。
二、中等级别命令注入
2.1 将dvwa的安全几倍调整为medium。即中等安全防护级别
三、高等级安全防护。
3.1将DVWA的安全等级调整为高级
可以看出此处利用explode()函数将输入的字符串按照“.”打散为数组,在利用is_numeric()函数来验证数组中的元素是否是数字或者数字字符串。同时利用sizeof()函数验证数组中的单元数目是否等于四个。当前面的条件同时满足是才可以执行ping命令。在此种防护级别上不存在任何绕过的可能。
四、命令注入攻击防范措施
通过上面的分析和描述,我们发现PHP中命令注入攻击漏洞带来的危害和影响很严重。防范命令注入攻击漏洞的存在可以通过以下几种方法。
1. 尽量不要执行外部的应用程序或命令。
2. 使用自定义函数或函数库实现外部应用程序或命令的功能。
3. 在执行system、eval等命令执行功能的函数前,确定参数内容。
4. 使用escapeshellarg函数处理相关参数。Escapeshellarg函数会将任何引起参数或命令结束的字符进行转义,如单引号“’”会被转义为“/’”,双引号“””会被转义为“/””,分号“;”会被转义为“/;”,这样escapeshellarg会将参数内容限制在一对单引号或双引号里面,转义参数中所包含的单引号或双引号,使其无法对当前执行进行截断,实现防范命令注入攻击的目的。
5. 使用safe_mode_exec_dir执行可执行的文件路径。将php.ini文件中的safe_mode设置为On,然后将允许执行的文件放入一个目录中,并使用safe_mode_exec_dir指定这个可执行的文件路径。这样,在需要执行相应的外部程序时,程序必须在safe_mode_exec_dir指定的目录中才会允许执行,否则执行将失
(转载了部分内容)
Command Injection,即命令注入攻击,是指由于Web应用程序对用户提交的数据过滤不严格,导致黑客可以通过构造特殊命令字符串的方式,将数据提交至Web应用程序中,并利用该方式执行外部程序或系统命令实施攻击,非法获取数据或者网络资源等。
一、低等级命令注入
1.1 使用浏览器打开
http://靶机IP:8080/dvwa/login.php,输入admin/admin进行登录
1.3
登录后页面选择Command Execution.
点击查看源代码。
二、中等级别命令注入
2.1 将dvwa的安全几倍调整为medium。即中等安全防护级别
三、高等级安全防护。
3.1将DVWA的安全等级调整为高级
可以看出此处利用explode()函数将输入的字符串按照“.”打散为数组,在利用is_numeric()函数来验证数组中的元素是否是数字或者数字字符串。同时利用sizeof()函数验证数组中的单元数目是否等于四个。当前面的条件同时满足是才可以执行ping命令。在此种防护级别上不存在任何绕过的可能。
四、命令注入攻击防范措施
通过上面的分析和描述,我们发现PHP中命令注入攻击漏洞带来的危害和影响很严重。防范命令注入攻击漏洞的存在可以通过以下几种方法。
1. 尽量不要执行外部的应用程序或命令。
2. 使用自定义函数或函数库实现外部应用程序或命令的功能。
3. 在执行system、eval等命令执行功能的函数前,确定参数内容。
4. 使用escapeshellarg函数处理相关参数。Escapeshellarg函数会将任何引起参数或命令结束的字符进行转义,如单引号“’”会被转义为“/’”,双引号“””会被转义为“/””,分号“;”会被转义为“/;”,这样escapeshellarg会将参数内容限制在一对单引号或双引号里面,转义参数中所包含的单引号或双引号,使其无法对当前执行进行截断,实现防范命令注入攻击的目的。
5. 使用safe_mode_exec_dir执行可执行的文件路径。将php.ini文件中的safe_mode设置为On,然后将允许执行的文件放入一个目录中,并使用safe_mode_exec_dir指定这个可执行的文件路径。这样,在需要执行相应的外部程序时,程序必须在safe_mode_exec_dir指定的目录中才会允许执行,否则执行将失
相关文章推荐
- iOS 开发 排序问题 (好友列表,按字母排序)
- 深入参与了一个分布式系统了,好多想法不一样了!
- PHP商品秒杀计时实现(解决大流量方案)
- MySql优化
- 关于cordova开发中安卓定位不精确的解决方案
- lintcode:直方图最大矩形覆盖
- ls的详细用法
- 读书笔记二——第一章《面向服务的体系架构SOA》下
- 5-43 字符串关键字的散列映射
- AndroidStudio导入XlistView步骤
- Guava学习之Lists
- Android安全机制(三)
- ajax提交
- 约瑟夫问题(关于小猴)
- 基础命令
- 【算法杂谈】各种最短路算法模板
- jenkins持续集成工具
- 整数中1 的个数
- python map函数
- 【C++学习之路】解决:无法查找或打开 PDB 文件