北京SEO百度排名优化【国内领先SEO优化平台】-大师SEO一站式SEO服务,帮助企业网站快速排名,快速上首页!
首页

主页 > 百度SEO排名优化 > TSRC挑战赛: PHP场景中getshell防御思路分享(2)

TSRC挑战赛: PHP场景中getshell防御思路分享(2)

百度排名优化大师 2019-11-13 百度SEO排名优化 89 ℃


那么,我们可以去除正常PHP脚本的可写权限,然后只对有写权限的PHP脚本实施命令执行等防御策略的阻断逻辑。这样即不会影响到业务的使用,又达到了预设场景的防护目......

那么,我们可以去除正常PHP脚本的可写权限,然后只对有写权限的PHP脚本实施命令执行等防御策略的阻断逻辑。这样即不会影响到业务的使用,又达到了预设场景的防护目标。不过这样的思路,需要禁用chmod等可以修改文件权限的函数。

3) 使用黑名单逻辑

return SUCCESS;

2) 禁用掉打开目录的接口

HashTable *ht; /* hash table value*/

举例:

2PHP扩展

防御方案使用了PHP扩展来完成阻断。PHP内核支持C/C++开发一些扩展功能,并且提供了一个框架 – ext_skel帮助生成基本的代码简化开发,由于PHP扩展并不涉及底层的资源管理,所以编写一个PHP扩展和编写一个C应用程序是一样的。下图展示了PHP扩展所处的结构层次,扩展位于PHP内核ZEND 和 PHP应用层代码之间,那么利用PHP扩展可以:

typedef union _zvalue_value {

} str;

zend_set_user_opcode_handler(ZEND_DO_FCALL, mysub);

变形webshell解析后的形式和$_GET[1]($_GET[2])类似,比如传入1=assert&2=system(whoami)执行代码,PHP扩展层监控到system函数执行,并且发现PHP脚本名带regexp code标识,清晰的知道是preg_replace的代码执行了调用了system,阻断system。Assert函数同理。总结:扩展并不关注在静态层如何编码运算或加密,扩展只监控最后的行为,所以可以很好的解决目前的变形难题。

原标题:TSRC挑战赛: PHP场景中getshell防御思路分享(2)

tag标签: 分享 思路 防御

搜索
网站分类
标签列表
 

18138295927