如何防御黑客的命令行注入漏洞攻击

            那我们下面,就来看在开发中应该采用什么样的算法,去防御这个sql命令注入是一个漏洞,这是一个算法规范,叫做impossible,不可能的就是,你绝对打不了。大家如果你在dvwi的impossible中,你就是利用这单独的这个漏洞,你不要和其他的相结合。有同学说,老师我攻击他SQL注入漏洞,然后拿到他权限了,我也能攻击他。不能这样就是单独对这个 impossible命令。执行的这个页面就攻击,如果你攻击成功,那你就找到了PHP它的漏洞那你就厉害了。可以告诉大家是不不可能攻击的,这是impossible,不可能来看他怎么防御。

首先我们在这个地方,impossible。点击提交,回到我们的comment in Jackson中。在这个地方不论你怎么去执行,都不行,我换成什么都不行,为什么不行?因为它这里采用的一个方法是一个标准的防御方案。我们来看一下。可以点击这边的view source,你能看到这代码就多很多了。我给大家讲一下这个代码它到底搞了什么事情,来看一下,我给你截取下来了。

首先上面的这些你看不懂,他不懂的东西怎么办?就不要看,我们就看关键点就行。你不要在意说一个代码我全部都得看懂,从头看到尾,这不可能的是吧?开发也没有这样做的。要学会阅读代码,那我们还是看关键点,首先还是这个IP,我们把IP赋值给这个 Dollartarget、这个变量。复制之后。然后他做了几个操作来看,第一个叫做export,然后下面用了这个函数,在后面用了这些大家一起看好像很懵逼,这个懵逼其实没关系。这只是提供了一个算法思路,它是用PHP去实现的而已。

我们下面就给大家具体分析一下,我保证每个人都能听懂,你不会贴一批也没关系。大家看好这个算法。首先我把这个关键的这一点,就关键的这4行就是多出来这4行给他单独拿到了这边。我们来看第一步,他做了strip slash。这样一个函数是做什么?就是去除用户所输入的反斜杠,有的诱惑他为了去转移这些特殊字符,可能会加上反斜杠。他先给你去掉,防止影响后面的操作,我先给你把无关紧要的给删掉。你想一下开发者原本的意图是干什么,他想让你去拼一个地址,检测连接,其他的你都不要干,我要你输入的就是个IP地址,其他的你别乱输。你说反斜杠我先给你干掉,我不管你输啥,先给你干掉再说。

分享: