来源:自学PHP网 时间:2015-04-17 14:47 作者: 阅读:次
[导读] 同样,今天一不小心就发现了- -#先本地模拟下这个代码解释下,第一句 echo出提交的内容 第二句 执行tracert命令并回显既然是tracert 要跟踪的网址,那么可以不可以tracert 0.0.0.0 net user 当...
同样,今天一不小心就发现了- -# 先本地模拟下这个代码 解释下,第一句 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.com'); } 我们再来提交下 摘自:网络安全技术博客(www.safe121.com) |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com