使用hackbar简单设置参数

第一题非常简单,看代码其实就是submit设置参数了就可以看到flag了。

<?php
if (isset($_POST["submit"]))
{include("flag2.php");echo "Congratulations! FLAG is : ".$flag;
}
show_source(__FILE__);
?>

但是页面上也没有提交,而且使用了post方法,所以要用一个很好用的插件:hackbar。是火狐浏览器的附加插件。

在这里可以搜索new hackbar

然后只要随便给submit设置一个值,run一下。

%00内容截断

<?php
if (isset($_POST["submit"]))
{if (isset($_POST['Luc1fer'])){if (ereg("^[a-zA-Z0-9]+$", $_POST['Luc1fer']) === FALSE){exit('<script>alert("have fun:)")</script>');}elseif (strlen($_POST['Luc1fer']) < 11 && $_POST['Luc1fer'] > 999999999){if (strpos($_POST['Luc1fer'], '#CCUT#') !== FALSE){if (!is_array($_POST['Luc1fer'])) {include("flag.php");echo "Congratulations! FLAG is : ".$flag;}else{exit('<script>alert("nonono")</script>');}}else{exit('<script>alert("nonono")</script>');}}else{exit('<script>alert("sorry")</script>');}}
}
show_source(__FILE__);
?>

看一下代码要求:

  • submit需要设置一个值。
  • 变量Luc1fer的内容只能从[a-zA-Z0-9]里面选择,也就是没有符号内容。
  • 对于它的长度,需要在11位以内,同时它的值需要大于9个9。
  • Luc1fer变量里面必须包含#CCUT#。
  • Luc1fer变量不能是数组。
    可以看到其中有两个要求似乎有点儿矛盾,不能有符号内容又必须包含#。
    这里有一个ereg函数来对比变量的内容,ereg函数存在NULL截断漏洞,导致了正则过滤被绕过,所以可以使用%00截断正则匹配。
    于是我们按照要求构建变量内容,首先一定包含#CCUT#这是六位,然后要用%00截断它,所以是%00#CCUT#,当然在传输时%00会变成空白,所以还剩下五位内容使得值大于9位9,于是我们使用科学计数法,科学计数法中E/e后的数表示10的多少次方,1e9即是数10的9次方,所以答案就是1e9%00#CCUT#。

当然这里还有一个问题就是post方法是不能传送%00, %00 截断在 GET 中被 url 解码之后是空字符。但是在 POST 中 %00 不会被 url 解码,所以只能通过 burpsuite 修改。

burpsuite


首先要设置这里的intercept on,然后设置浏览器代理为127.0.0.1端口为8080。
重新打开题目的网址会有点卡,然后回到这个burpsuite会看到界面里已经有了一些内容。点forward让它通过,这时网页会显示出原来的内容。
然后使用hackbar传参发送。

然后forward直到这个地址出现了params信息。

然后将变量修改为我们构造出的内容,重新forward发送,回到浏览器页面就得到了flag。

PHP WEB练习题相关推荐

  1. 蓝桥杯Web练习题:【代码改错】关于你的欢迎语

    [代码改错]关于你的欢迎语 关于你的欢迎语 背景介绍 营销号,有时候需要一些特定的欢迎语,但针对特定的用户,我们希望可以个性化一点.本题需要在项目文件中修改代码存在的问题,实现根据模版生成特定用户的欢 ...

  2. Web练习题---简历表页面的制作

    简历表页面的制作 文章目录 简历表页面的制作 第1关:简历表页面的结构设计 相关知识 表格标签及其属性设置 1.table标签的属性 2.tr标签的属性 3.td标签的属性 4.th标签的属性 表格单 ...

  3. 「干货」XCTF Web安全入门练习靶场全部通关教程

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 0x01 view_source Write Up XCTF ...

  4. web 前端 如何分享到instagram_好程序员web前端教程分享前端javascript练习题三

    好程序员web前端教程分享前端javascript练习题三 cookie 一周内免登录 样式代码: 姓名: 密码: 一周内免登陆 js功能代码: var input=document.getEleme ...

  5. Java Web概述-练习题

    ~本特利~ Java Web概述练习题 一.填空题 1.Tomcat的默认端口号是[ 8080 ]. 2.在HTTP协议中,一个完整的请求消息是由请求行.[ 请求头 ]和实体内容三部分组成. 3.HT ...

  6. 如何用计算机编程算题,计算机二级Web程序设计章节练习题

    计算机二级Web程序设计章节练习题 二级定位为程序员,考核内容包括公共基础知识和程序设计.所有科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和教程.这是小编提供的计算机二级Web程序设计章节 ...

  7. 计算机web国二考试题库,全国计算机二级考试练习题库(含答案)

    全国计算机二级考试练习题库(含答案) 21.下列叙述中正确的是 A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 √C) 在栈 ...

  8. 【和小白一起练习CTF】攻防世界:web基础练习题(2)

    文章目录 1.simple_js 2.xff_referer 3.weak_auth 4.webshell 5.command_execution 6.simple_php 1.simple_js 题 ...

  9. web前端技术练习题

    选择题 1.以下哪个不属于Web前端开发的核心技术?(   ). A.HTML C.JavaScript B.CSS D.Java 2.关于HTML说法错误的是(   ). A.HTML标签的嵌套结构 ...

最新文章

  1. R假设检验之莫德中位数检验(Mood‘s Median Test)
  2. SaltStack组件
  3. 剑指offer:调整数组顺序使奇数位于偶数前面
  4. 引入科研院所中科微研携手-林裕豪:从玉农业谋定农业大健康
  5. 关于浮点数精度的问题
  6. jQuery api学习笔记
  7. 图形学之开篇概念及综述
  8. Hadoop之MapReduce分布式计算
  9. java教务管理系统数据库设计_新手可以学习的教务管理系统详细设计(一)
  10. 腾讯钟翔平:以数字技术驱动,做智慧交通共建者
  11. 系统架构师考试经验分享
  12. 多功能多接口带头像挂件制作微信小程序源码
  13. html指南针绘制,Fireworks绘制指南针详解
  14. linux查看当前网卡网速,Linux环境编程:获取网卡的实时网速
  15. 大吉大利今晚吃鸡——枪械篇
  16. 企业中了勒索病毒该怎么办?可以解密吗?
  17. java中实现工厂日历_Java实现的日历功能完整示例
  18. uedit上传视频时提示输入的视频地址有误,请检查后再试
  19. JAVA程序设计基础期末复习资料
  20. could not locate named parameter [***]; nested exception is org.hibernate.QueryParameterException: c

热门文章

  1. 数学基础(向量和矩阵)
  2. MySQL的分页你还在使劲的limit?
  3. 农村大学生的逆袭--031拉近与领导的距离
  4. 2021年金属非金属矿山(露天矿山)主要负责人考试内容及金属非金属矿山(露天矿山)主要负责人考试资料
  5. 干货 | 实际操作中,以租代购产品应该如何设计?
  6. [Android]视图的控触操作-MotionEvent
  7. html设计网页主题
  8. 序列模型(1)—— 难处理的序列数据
  9. 字节跳动视频架构(一面面经)
  10. 球王贝利去世终年 82 岁,其是世界上唯一三次夺取世界杯冠军的足球运动员,如何评价他的传奇一生?