• 题目地址:实验吧:拐弯抹角

知识点

  • 伪静态:参考资料
  • 关于绕过构造:
    • 构造 /indirection/a/…/ /indirection/./
    • 构造 \ 来代替被过滤的 /
    • 有的系统大小写通用,可以尝试改变大小写
    • 可以用?和#等等的字符绕过
    • 多个 /
    • 加上index.php或者减去index.php都是可以的
    • 在index.php后面加.

wp

  • 进去就是一大段代码,要求改变url访问index.php
 <?php// code by SEC@USTCecho '<html><head><meta http-equiv="charset" content="gbk"></head><body>';$URL = $_SERVER['REQUEST_URI'];//echo 'URL: '.$URL.'<br/>';$flag = "CTF{???}";$code = str_replace($flag, 'CTF{???}', file_get_contents('./index.php'));$stop = 0;//这道题目本身也有教学的目的//第一,我们可以构造 /indirection/a/../ /indirection/./ 等等这一类的//所以,第一个要求就是不得出现 ./if($flag && strpos($URL, './') !== FALSE){$flag = "";$stop = 1;        //Pass}//第二,我们可以构造 \ 来代替被过滤的 ///所以,第二个要求就是不得出现 ../if($flag && strpos($URL, '\\') !== FALSE){$flag = "";$stop = 2;        //Pass}//第三,有的系统大小写通用,例如 indirectioN///你也可以用?和#等等的字符绕过,这需要统一解决//所以,第三个要求对可以用的字符做了限制,a-z / 和 .$matches = array();preg_match('/^([0-9a-z\/.]+)$/', $URL, $matches);if($flag && empty($matches) || $matches[1] != $URL){$flag = "";$stop = 3;        //Pass}//第四,多个 / 也是可以的//所以,第四个要求是不得出现 //if($flag && strpos($URL, '//') !== FALSE){$flag = "";$stop = 4;        //Pass}//第五,显然加上index.php或者减去index.php都是可以的//所以我们下一个要求就是必须包含/index.php,并且以此结尾if($flag && substr($URL, -10) !== '/index.php'){$flag = "";$stop = 5;        //Pass}//第六,我们知道在index.php后面加.也是可以的//所以我们禁止p后面出现.这个符号if($flag && strpos($URL, 'p.') !== FALSE){$flag = "";$stop = 6;        //Pass}//第七,现在是最关键的时刻//你的$URL必须与/indirection/index.php有所不同if($flag && $URL == '/indirection/index.php'){$flag = "";$stop = 7;        //Pass}if(!$stop) $stop = 8;echo 'Flag: '.$flag;echo '<hr />';for($i = 1; $i < $stop; $i++)$code = str_replace('//Pass '.$i, '//Pass', $code);for(; $i < 8; $i++)$code = str_replace('//Pass '.$i, '//Not Pass', $code);echo highlight_string($code, TRUE);echo '</body></html>'; 
  • 这道题主要是考察伪静态技术:构造indirection/index.php/index.php,index.php后的index.php会被当做参数处理

#实验吧整理#拐弯抹角小结相关推荐

  1. python思考题实验题整理

    思考题实验题整理 第2章 思考题 下列哪些是合法的变量名 A.6a2b.aBc.abc-123.ab_123._ _.hello world 合法:A.aBc.ab_123 思考题:#TempConv ...

  2. 跑马灯C语言实验报告,51单片机跑马灯实验报告 分析与小结,思考题源码下载

    一.实验目的与要求 1.熟悉 Keil C51 集成环境软件的使用方法. 2.熟悉 MCS51 汇编指令,能自己编写简单的程序,控制硬件. 3.熟悉畅学开发平台,掌握单片机最小系统及 IO 口的简单控 ...

  3. 计算机仿真实验霍尔效应测磁场小结,霍尔效应实验报告|霍尔效应实验数据记录...

    霍尔效应与应用设计 摘要:随着半导体物理学的迅速发展,霍尔系数和电导率的测量已成为研究半导体材料的主要方法之一.本文主要通过实验测量半导体材料的霍尔系数和电导率可以判断材料的导电类型.载流子浓度.载流 ...

  4. mysql安全性实验心得_mysql安全小结

    sql的注入是一个很困扰人的问题,一些恶意攻击者可以利用sql注入来获取甚至是修改数据库中的信息,尤其是一些比较敏感的密码一类的数据. sql注入主要利用mysql 的注释将后续应正常执行的语句注释掉 ...

  5. Quartus计算机组成与设计实验原理图整理(一)——基本逻辑门逻辑实验

    一. 实验目的 1. 掌握TTL常用逻辑门输入与输出之间的逻辑关系. 2. 熟悉TTL中.小规模集成电路的外型.管脚和使用方法. 二. 实验所用QuartII库内器件 二输入四异或门 74LS86 三 ...

  6. Quartus计算机组成与设计实验原理图整理(十)——二进制补码加法器实验

    一.实验目的: 根据补码加法器的模型,理解数据流及其时序关系. 掌握加法器实现补码加.减运算的基本原理. 二.实验方案: 本实验运算器模型,可分为数据运算以及符号位的产生两部分. 三.实验要求: ◆ ...

  7. 实验吧_拐弯抹角(url伪静态)Forms

    拐弯抹角 先贴代码 1 <?php 2 // code by SEC@USTC 3 4 echo '<html><head><meta http-equiv=&qu ...

  8. Service Object 整理和小结

    TL;DR 这篇文章整理了 Service Object 的一套 Convention,用 PORO 结合 Rails 的功能完成了一个例子,并介绍了一些其他思路. Why Service Objec ...

  9. Quartus计算机组成与设计实验原理图整理(五)——四位补码运算器

    1.实验内容及说明 本实验要求设计一个能够实现补码加法.减法.左移.右移.直接传送等功能的四位补码运算器,图5为四位补码运算器的电路框图,图中,移位器具有左移.右移和直接传送功能. 实验时,图5中的元 ...

最新文章

  1. 装饰器的定义、语法糖用法及示例代码
  2. python【力扣LeetCode算法题库】892-三维形体的表面积
  3. Android查询数据库问题
  4. windows系统numpy的下载与安装教程
  5. 面向对象——构造方法(重载)
  6. Android中垃圾回收日志信息
  7. make命令及makefile
  8. 【Numpy入门实例:图像的手绘效果】
  9. 解决XML转JSON串时报错:Exception in thread main java.lang.NoClassDefFoundError: nu/xom/Serializer
  10. .mpp文件的使用技巧
  11. 越过山丘才发现无人等候 倒计时84
  12. 深度学习之图片压缩技术
  13. k8s节点重启后,该节点一直not ready
  14. 【新人求助】苹果允许开发者制作类似按键精灵的app吗?
  15. 【持续更新】Leetcode SQL题目全解析(附建表sql)
  16. Unity3d制作菜单栏
  17. python能不能互动执行_细思恐极,插上U盘就开始执行Python代码
  18. 文件系统专栏 | 之文件系统架构
  19. Echarts3.0的简单使用,动态获取数据
  20. 除铜树脂CH-90NA、电镀废水回收铜工艺

热门文章

  1. 摄像头水平视野垂直视野?_如何在“动物穿越:新视野”中定时旅行
  2. MyBatis(四)Mybatis的参数
  3. centos 防火墙关闭/开启
  4. Tabby 终端试用
  5. 前端wx-jssdk的使用及企微和微信下分享等功能自定义处理
  6. 苹果M1 Mac遇到蓝牙连外设连接不稳定经常断开怎么办?
  7. 如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
  8. Docker三剑客之Docker Swarm
  9. mysql查询字段按逗号隔开
  10. JavaFX实例:简单日历的实现