关于代码命令执行漏洞的修复,下面做了一个非常骚的操作,它使用export这叫做分隔,他把我们输入的IP地址。根据点号,分割成4个部分,比如说你输入的是这个127.0.0.1,中间三个点它给你分成4块。这4块分别是4个数字,127、第二个数字0,第三个数字0。第四个数字1。然后下面就是。第二步他做的操作,第三步他做了一个非常典型的操作,就是看他分别判断这4个数字是不是数字,判断它是不是数字,懂吗?
第一个他判断127是不是数字,因为你IP地址肯定4个都是数字是吧?你不可能出现其他的,你竖个暗的在那,你竖一个竖杠,在那那是啥?那肯定不是数字是吧?他就直接干掉你了。他首先判断127是不是数字?是的。就是这里判断的,那判断零,是不是数字是的。判断零是不是数字也是的。然后再判断这一个1是不是数字。在4个都满足之后,就4个都是数字证明,你输入的就是个IP地址。然后他又做了一个最后一步验证,就是它验证你输入的是不是4个数字。因为IP地址肯定是4个数字组成的,他判断你是有没有输4个,因为我们刚刚比如。说跟上whoami你输了多少,你不是输了5个东西是吧?
你输了5个东西,他判断一下是不是。必须要满足这些条件之后,他才会放弃。不然你乱搞事情,就你一个不是数字的东西,我就输个ABCD都不行。别说符号了,我就输个a都不行。他就直接给你干掉。然后再验证完之后,这4个数字是不是被我们分开了。让他做了后面一件事情,就是再把这4个数字用点,用3个点,给拼起来。再拼成原本的IP地址,现在再去ping他。我请问这种方法有可能绕过吗?你有什么解决办法能攻击他吗?可以告诉大家,防御正如其名,不可能被攻击,这是安全开发人员的基础。
无论是PHP、JSP、.net等等。所有的后端语言都可以利用其中的函数。实现相应的算法,就是我判断先把你的it 4个数字给取开。分别判断是不是4个数字。如果都是的,我再给你用点合起来。这个你无解吧。问一下,大家应该能听懂吧?有没有同学听不懂,你可以大胆的告诉我,听不懂也可以单独找我,没关系,我相信大家肯定能听懂。
还没有评论,来说两句吧...