PHP WEB练习题
使用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练习题相关推荐
- 蓝桥杯Web练习题:【代码改错】关于你的欢迎语
[代码改错]关于你的欢迎语 关于你的欢迎语 背景介绍 营销号,有时候需要一些特定的欢迎语,但针对特定的用户,我们希望可以个性化一点.本题需要在项目文件中修改代码存在的问题,实现根据模版生成特定用户的欢 ...
- Web练习题---简历表页面的制作
简历表页面的制作 文章目录 简历表页面的制作 第1关:简历表页面的结构设计 相关知识 表格标签及其属性设置 1.table标签的属性 2.tr标签的属性 3.td标签的属性 4.th标签的属性 表格单 ...
- 「干货」XCTF Web安全入门练习靶场全部通关教程
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 0x01 view_source Write Up XCTF ...
- web 前端 如何分享到instagram_好程序员web前端教程分享前端javascript练习题三
好程序员web前端教程分享前端javascript练习题三 cookie 一周内免登录 样式代码: 姓名: 密码: 一周内免登陆 js功能代码: var input=document.getEleme ...
- Java Web概述-练习题
~本特利~ Java Web概述练习题 一.填空题 1.Tomcat的默认端口号是[ 8080 ]. 2.在HTTP协议中,一个完整的请求消息是由请求行.[ 请求头 ]和实体内容三部分组成. 3.HT ...
- 如何用计算机编程算题,计算机二级Web程序设计章节练习题
计算机二级Web程序设计章节练习题 二级定位为程序员,考核内容包括公共基础知识和程序设计.所有科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和教程.这是小编提供的计算机二级Web程序设计章节 ...
- 计算机web国二考试题库,全国计算机二级考试练习题库(含答案)
全国计算机二级考试练习题库(含答案) 21.下列叙述中正确的是 A) 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B) 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 √C) 在栈 ...
- 【和小白一起练习CTF】攻防世界:web基础练习题(2)
文章目录 1.simple_js 2.xff_referer 3.weak_auth 4.webshell 5.command_execution 6.simple_php 1.simple_js 题 ...
- web前端技术练习题
选择题 1.以下哪个不属于Web前端开发的核心技术?( ). A.HTML C.JavaScript B.CSS D.Java 2.关于HTML说法错误的是( ). A.HTML标签的嵌套结构 ...
最新文章
- R假设检验之莫德中位数检验(Mood‘s Median Test)
- SaltStack组件
- 剑指offer:调整数组顺序使奇数位于偶数前面
- 引入科研院所中科微研携手-林裕豪:从玉农业谋定农业大健康
- 关于浮点数精度的问题
- jQuery api学习笔记
- 图形学之开篇概念及综述
- Hadoop之MapReduce分布式计算
- java教务管理系统数据库设计_新手可以学习的教务管理系统详细设计(一)
- 腾讯钟翔平:以数字技术驱动,做智慧交通共建者
- 系统架构师考试经验分享
- 多功能多接口带头像挂件制作微信小程序源码
- html指南针绘制,Fireworks绘制指南针详解
- linux查看当前网卡网速,Linux环境编程:获取网卡的实时网速
- 大吉大利今晚吃鸡——枪械篇
- 企业中了勒索病毒该怎么办?可以解密吗?
- java中实现工厂日历_Java实现的日历功能完整示例
- uedit上传视频时提示输入的视频地址有误,请检查后再试
- JAVA程序设计基础期末复习资料
- could not locate named parameter [***]; nested exception is org.hibernate.QueryParameterException: c