首页 > 科技

今头条!Liunx下对php内核的调试

来源:博客园 时间:2023-06-25 07:30:23

0x01前言

主要是对上一篇文章中php_again这道题的补充。

0x02下载php源码
cd /usr/localwget https://www.php.net/distributions/php-8.2.2.tar.gztar -zxvf php-8.2.2.tar.gz && cd php-8.2.2
0x03编译

注意带enable-debug

apt-get install build-essential autoconf automake libtool libsqlite3-dev pkg-config libjpeg-dev libpng-dev libxml2-dev libbz2-dev libcurl4-gnutls-dev libssl-dev libffi-dev libwebp-dev libonig-dev libzip-dev./configure --prefix=/usr/local/php --sysconfdir=/etc/php/8.2 --with-openssl --with-zlib --with-bz2 --with-curl --enable-bcmath --enable-gd --with-webp --with-jpeg --with-mhash --enable-mbstring --with-imap-ssl --with-mysqli --enable-exif --with-ffi --with-zip --enable-sockets --with-pcre-jit --enable-fpm --with-pdo-mysql --enable-pcntl --enable-debugmake && make installcd /usr/binln -s /usr/local/php/bin/php php8.2cp /usr/local/php-8.2.2/php.ini-development /usr/local/php/lib/php.ini                  cp /etc/php/8.2/php-fpm.conf.default /etc/php/8.2/php-fpm.confcp /etc/php/8.2/php-fpm.d/www.conf.default /etc/php/8.2/php-fpm.d/www.conf
0x04下载gdb工具
apt-get updateapt install gdb
0x05调试样例

调试php中 生成 system_id的两个函数(zend_startup_system_id,zend_finalize_system_id),分别在 mian.c文件的第2237行第2288


(资料图片)

cd  /usr/local/php/bin#即php可执行文件目录

先在这两处打断点

接下来执行 run 一个php文件。

step 单步进入该函数。

n下一步

print var 打印变量

该函数运行完后,context的值是。(因为enable-debug了,所以NTS后还有一个debug,正常情况下是没有的)

跳出该函数后,输入 c进入下一个断点。

同样 step单步跳入。可以看到第二个 if语句是进去了,hooks的值为 "\x02"

接下来是个 for循环,一个都没进去,所以 context的值没有更新。最后 context的值是。

把 debug去掉放 python跑一下。

这下跑的结果是正确的。

0x06一些细节

zend_compile_filecompile_file是不一样的。让我们看看发生了什么。

watch  zend_compile_file

编译时开启 dtrace并且,环境变量中有 USE_ZEND_DTRACE时才会进入这个if 。 所以这个时候 zend_compile_file是等于 compile_file的。

在phar.c中还会改变一次。之后就会调用 zend_finalize_system_id.

0x07后记

额,源码看不懂,就跟着看了下变量信息,主要简单了解下如何使用gdb调试。

相关稿件

今头条!Liunx下对php内核的调试

看完《上甘岭》新预告!我难掩激动,终于有部像样的国产大剧了

全球今日报丨《消失的她》上映3天票房破5亿 倪妮主演电影票房破50亿

十二生肖是哪些(十二生肖是哪些动物)|当前关注

迈阿密国际老板贝克汉姆社媒晒图,祝梅西36岁生日快乐-全球速看

蔷薇花的养殖方法 家养蔷薇花的养殖方法

世界观点:河北唐山:多彩活动迎端午

杭州萧山亚运志愿平台正式启用

天天消息!早参丨端午假期广州共接待市民游客近623万人次;银川烧烤店爆炸事故原因公布

用水权遭拒 “核阴影”挥之不去 美国纳瓦霍人艰难挣扎

头条:农业农村部部署夏季水产养殖生产

环球影城、绿心、运河两岸游人如织,城市副中心消夏避暑游火了

9省区市将现35℃以上高温 内蒙古局地可达40℃

天天观速讯丨我国耕地减少态势获初步遏制

1.06亿人次!373.10亿元!你贡献了多少? 微头条

今日快看!广图晒新馆开放十周年成绩单:读者访问量居全国公共图书馆首位

黑松盆景的养护方法(黑松用什么土养最好)

“梅姑娘”威力犹在 上海局地或有大雨 最高温29度

热点聚焦:资讯推荐:当前聚焦:山水相融,风景如画,延庆筹建京郊最大塞外风情聚落_热点聚焦 全球速递|速看_环球今日讯|关注_环球快资讯

焦点滚动:全球首台16兆瓦风机安装工作全部准备就绪

19人!2023年第二季度贵州好人榜公布

当前时讯:前5月海南实际使用外资同比增长35.4%

天津美术生排名院校名单 全国美术类院校排名 天天最新

【房地产开发】房地产/行业深度:更新改造、人均居住面积改善驱动未来住宅需求

【计算机设备】计算机事件点评:“LLM算法备案”清单发布,商业化应用可期

【文化传媒】传媒行业点评报告:版号如期发放,关注AI在游戏领域的加速落地

语文一年级—高怎么组词?

环球速讯:毛孔粗大能自然恢复吗 ?解决好这5个“源头”,毛孔会变细腻

行政复议涉及哪些被申请人部门_每日速讯

外观和动力均有升级 新款吉利星瑞申报图_观察