好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

在线Tracert(Ping)的安全性 - 网站安全 - 自学php

 

同样,今天一不小心就发现了- -#

先本地模拟下这个代码

解释下,第一句 echo出提交的内容   第二句 执行tracert命令并回显

既然是tracert 要跟踪的网址,那么可以不可以tracert 0.0.0.0 & net user  当然结果是不行的,因为浏览器会把&解析成&net user

这样就成了key(&user=xxx&pass=xxxxx)这样的,所以我们要对&进行编码%26

最后我们提交2.php?tracert=0.0.0.0%26net%20user

结果如图

这样如果权限足够大,足以提权服务器。

解决方法

既然网址里除了 . 就是- 那么我们就禁止除了.和-以外的任何特殊字符

我们在前面加个

$badword = '!|@|#|&|<|>'; if(preg_match("/$badword/i",$_GET["tracert"])){ exit ('bad request<hr>Safe121测试数据'); } 我们再来提交下

摘自: 网络安全 技术博客(HdhCmsTestsafe121测试数据)

查看更多关于在线Tracert(Ping)的安全性 - 网站安全 - 自学php的详细内容...

  阅读:41次