Web安全与防护-课件-单元-6-命令执行漏洞渗透测试与防范_第1页
Web安全与防护-课件-单元-6-命令执行漏洞渗透测试与防范_第2页
Web安全与防护-课件-单元-6-命令执行漏洞渗透测试与防范_第3页
Web安全与防护-课件-单元-6-命令执行漏洞渗透测试与防范_第4页
Web安全与防护-课件-单元-6-命令执行漏洞渗透测试与防范_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

命令执行漏洞概述命令执行漏洞概念命令执行漏洞是指Web服务器没有对用户输入进行过滤,用户可以控制命令执行函数的参数,导致随意执行系统命令。命令执行漏洞相当于直接获得了系统级的Shell,风险巨大,属于高危漏洞之一,因此必须严格防范命令执行漏洞。当WEB应用程序调用一些外部程序去处理任务时会用到一些执行系统命令的函数,如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,可注入恶意系统命令到正常命令中,造成命令执行攻击。命令执行漏洞概念DVWA提供了测试域名/IP的ping服务,并将Ping命令的执行过程及结果显示出来。输入&ipconfig命令执行漏洞概念ping&ipconfig,&是管道符,其作用是前面命令执行后接着执行后面的命令,因此执行了ping测试,而且还执行了ipconfig命令。命令执行漏洞的危害shell_exec、system,exec等函数的作用就是可以在PHP中去执行操作系统命令,因而如果不对用户输入的命令进行过滤,那么理论上就可以执行任意系统命令,也就相当于直接获得了系统级的Shell,因而命令执行漏洞的威力相比SQL注入要大多了。试想一下,如果将ipconfig命令更换成netuserhacker123/add,就可以增加hacker用户,可以继续通过命令netlocalgroupadministratorshacker/add赋予管理员权限,通过该用户就可以控制服务器。在CTF比赛中常出现命令执行漏洞的题目Cat/root/flag命令执行漏洞的检测代码审计是发现命令检测漏洞的最有效方法shell_exec、system,exec等调用操作系统命令的函数用户可以控制这些函数的参数利用漏洞扫描工具进行扫描手工验证凡是在应用程序当中发现可能调用操作系统命令处手工验证与代码执行漏洞的区别由于利用代码执行漏洞也能执行系统命令,因此有人经常将二者混淆,但二者是有本质的区别命令执行漏洞是直接调用操作系统命令,而代码执行漏洞则是通过执行脚本代码而调用操作系统命令。代码执行漏洞常存在于脚本中有eval()函数的情况,用户可以控制函数的参数,通过输入调用系统命令的函数system()等调用系统命令。eval()函数把字符串按照PHP代码来执行,即可以动态地执行PHP代码。eval()函数要求输入的字符串必须符合PHP代码的语法规范,且必须以“;”分开。与代码执行漏洞的区别假如在\xampp\htdocs\文件夹下有test.php,文件内容<?php@eval($_GET['cmd']);?>如果要调用系统命令,就需要输入system、shell_exex()、exec()等函数来执行系统命令。在浏览器地址栏中输入::8000/test.php?cmd=echoshell_exec(ipconfig);总结与提高命令执行漏洞是指Web服务器没有对用户输入进行过滤,用户可以控制命令执行函数的参数,导致随意执行系统命令检测命令执行漏洞的最有效手段是代码审计。OS命令执行漏洞,直接调用操作系统命令,代码执行漏洞,依靠执行脚本代码调用操作系统命令在PHP中用来调用操作系统命令的函数包括system(),exec(),shell_exec()eval()函数把字符串按照PHP代码来执行,即可以动态地执行PHP代码。eval()函数要求输入的字符串必须符合PHP代码的语法规范,且必须以“;”分开谢谢!命令执行漏洞的防范与绕过利用命令执行漏洞的前提操作系统命令可以连接执行是造成命令执行漏洞的前提条件。无论是在Windows操作系统还是Linux操作系统之中都可以通过管道符支持连续执行命令。常见操作系统管道符操作系统管道符示例在windows中输入pingip地址&&netuser在LINUX系统输入ping–c4&&ifconfig防范命令执行漏洞尽量不要使用系统执行命令在进入执行命令函数/方法之前,变量一定要做好过滤,对敏感字符进行转义或过滤在后台对应用的权限进行控制,即使有漏洞,也不能执行高权限命令对PHP语言来说,不能完全控制的危险函数最好不要使用。实训目的与原理实训目的熟悉系统命令连续执行的管道符。掌握验证命令执行漏洞的方法。实训原理操作系统命令可以连接执行是造成命令执行漏洞存在的前提条件。无论是在Windows还是Linux操作系统之中,都可以通过管道符支持连续执行命令。命令执行漏洞的主要防范措施也在于过滤用户输入的管道符。实训步骤步骤1:登录DVWA系统在DVWASecurity当中选择“low”选项,并提交。选择“CommandExecution”步骤2:在输入框中输入命令查看结果输入IP地址:,单击“Submit”按钮提交并查看结果。输入:&ipconfig,单击“Submit”按钮提交并查看结果。输入:&&ipconfig,单击“Submit”按钮提交并查看结果。输入:|ipconfig,单击“Submit”按钮提交并查看结果。输入:||ipconfig,单击“Submit”按钮提交并查看结果;再输入:1||ipconfig,单击“Submit”按钮提交并查看结果。实训步骤步骤3:绕过命令执行漏洞防范措施在DVWASecurity当中选择“security”选项,并提交。选择“CommandExecution”输入IP地址:,单击“Submit”按钮提交并查看结果。输入:&ipconfig,单击“Submit”按钮提交并查看结果。输入:&&ipconfig,单击“Submit”按钮提交并查看结果。输入:|ipconfig,单击“Submit”按钮提交并查看结果。输入:||ipconfig,单击“Submit”按钮提交并查看结果;再输入:1||ipconfig,单击“Submit”按钮提交并查看结果。可以看到仅&&被过滤,也说明过滤措施不完善,也就是说可以继续使用&、|和||管道符。实训步骤步骤4:查看源代码中等级防护过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论