美文网首页
二十一、手动漏洞挖掘:(3)命令执行

二十一、手动漏洞挖掘:(3)命令执行

作者: cybeyond | 来源:发表于2017-10-27 11:34 被阅读0次

目录
1.漏洞挖掘原则
2.漏洞的本质
3.举例

1、漏洞挖掘原则:

  • 所有变量:所有变量/提交的数据都要尝试
  • 所有头:cookie的变量
  • 逐个变量删除:筛选出服务器对哪些变量进行处理

2、漏洞的本质:

  • 数据和指令的混淆(服务端对输入数据过滤不严格,对本来输入的数据却输入了指令,导致命令被执行)
  • 对用户输入信息过来不严判断失误,误将指令当数据

3、举例

下面是DVWA中命令执行的漏洞,输入框中需要输入的是IP,即应用系统发出ping指令,ping某一台主机:


命令执行

上面的命令是怎么执行的呢?是程序自己写的程序,编写一个ping指令or通过调用本机操作系统去发出ping,可以测试一下:

ping测试

发现它发送了3个ping包,按照系统命令猜测,如果在执行一条‘ls’命令,是否能一起被执行呢?

ls命令被执行

由此可见,此应用程序是按照调用系统的ping命令来执行的。linux中,两条或者多条命令执行,可以使用的连接符是“ ; && | || &”,尝试下其他字符:

&连接

点击右下角的“View Source”,可以查看源代码,看一下为什么能够被执行,原因是没有进行任何的过滤

low security源代码

将security安全级别调整为“中”,使用“;”就不能执行ls了,观察源代码,它将“&& ;”都被转成了空字符,但是|、||等没有被过滤

medium security源代码

将security安全级别调整为“高”,发现对IP地址进行了严格的限制,只能是以.分隔的4个数字。其中stripslashes函数已经对$target做了一次字符消毒(去掉转义后的反斜杠)


high security

相关文章

网友评论

      本文标题:二十一、手动漏洞挖掘:(3)命令执行

      本文链接:https://www.haomeiwen.com/subject/cverpxtx.html