今天才知道,输入对方手机号码就能查看对方位置

访客4年前黑客工具980

WEB应用漏洞导致的入侵时有发生,扫描器和WAF并不能解决所有的问题,于是尝试在主机侧针对PHP环境做了一个防御方案。很荣幸的邀请到TSRC部分白帽子做了一次对抗演习,本文主要分享一下防御思路。

防御方案主要想解决的问题是getshell、主机敏感文件泄漏等问题。于是乎出了下面这样一个题目:部署了防御方案的Nginx + PHP 的WEB环境,提供一个上传入口,可上传任意文件。找到WEB目录下的一个flag文件读取到内容即算突破。

2 PHP扩展

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

1) 监控PHP应用层代码的执行细节,包括执行CGI、函数名、参数等;

2) 调用PHP内核ZEND提供的API接口,包括禁用类、修改配置选项等。

PHP场景中getshell防御思路分享

图1 PHP语言的结构

3 相关知识

3.1 HOOKPHP代码

PHP是解释型语言,代码被翻译为中间字节码由ZEND引擎解析执行。PHP把中间字节码称之为OPCODE,每个OPCODE对应ZEND底层的一个处理函数,ZEND引擎最终执行这个处理函数。实现HOOK功能只需要改变HOOK OPCODE对应的处理函数即可,而ZEND预先就提供了一个现成的接口:zend_set_user_opcode_handler。防御方案只需要HOOK以下三个OPCODE:

ZEND_INCLUDE_OR_EVAL — eval、require等

ZEND_DO_FCALL — 函数执行system等

ZEND_DO_FCALL_BY_NAME — 变量函数执行 $func = “system”;$func();

举例:

ZEND_DO_FCALL这个OPCODE对应的功能是函数调用,如果需要HOOK所有的函数调用:

1) 在模块初始化函数中使用zend_set_user_opcode_handler修改ZEND_DO_FCALL新的处理函数为mysub:

PHP_MINIT_FUNCTION(phpips){

zend_set_user_opcode_handler(ZEND_DO_FCALL, mysub);

return SUCCESS;

}

2) 在自定义函数中实现自己需要的功能并返回原来的处理函数:

void mysub(){

自定义功能;

return ZEND_USER_OPCODE_DISPATCH;

}

3.2 ZEND接口

HOOK之外还需要获取一些基本信息或功能,比如:

1) 获取执行的PHP脚本名,可调用ZEND的接口zend_get_executed_filename:

char *cgi_name = (char*)zend_get_executed_filename(TSRMLS_C);

2) 禁用一些类库,可使用zend_disable_class接口;

ZEND提供了很多丰富的接口,可根据需求选择调用。


相关文章

小程序骗局频发!微信、支付宝双双“别上当”

小程序骗局频发!微信、支付宝双双“别上当”

近期,先是百度上线了智能小程序,公测快一年的支付宝小程序也开放了首页入口,微信小程序则在首页下拉释放了收藏入口。 作为互联网行业的风向标,BAT同时进入小程序赛道,搅热了小程序市场。 8月3日,微...

ZAO了一夜:微信出手,支付宝回应,陌陌私人社交梦遇冷

“仅需一张照片,出演天下好戏”。近日,一款AI换脸APP——ZAO成功刷屏。 ZAO的产品逻辑和玩法都非常简单。用户上传一张自己的正脸照,通过AI技术替换短视频中某位演员的脸,满足用户出演经典影视片...

微博推广排名的核心技术(日加一万粉丝绝对不

微博推广排名的核心技术(日加一万粉丝绝对不

有人说微博现在活跃度不高了,但不得不承认微博官方发出的数据,微博实际上的活跃度还是非常高的,另外一个将自己的官方微博推广起来还是有必要的,那么我们如何推广精准微博粉丝呢,今天我来教大家一招非常管用的方...

安徽高速公路(2020年高速公路拆房补偿标准)

安徽高速公路(2百思特网020年高速公路拆房补偿标准) 以下是小编收集的,截止目前 安徽省 正在建设的高速公路。如有遗漏,欢迎评论补充。如有错误,欢迎评论纠正。 1、蚌五高速,蚌埠市 - 五河县...

黑客专用英文昵称,找黑客改主治医师考试成绩是真的吗,找黑客改社保

顺带着发现了后台进口…真的如各路大神们说的这样吗?图19 假造遥控器的SPI指令数字逻辑Initiating NSE at 12:28假如看到 转化程序的 data/ 目录不可写 就不必试了 不成功...

重修成绩找黑客-有黑客男朋友什么体验(有个黑客男朋友是种什么体验)

重修成绩找黑客-有黑客男朋友什么体验(有个黑客男朋友是种什么体验)

重修成绩找黑客相关问题 黑客大户团队是以什么方式追回相关问题 黑客大曝光如何 我国共有9.4亿网民(2019年我国网民规模)...