实验吧-你真的会PHP吗?writeup
来源:互联网 发布:postgresql mysql 电商 编辑:程序博客网 时间:2024/05/19 02:02
首先fiddler抓包,在response header中发现hint:6c525af4059b4fe7d8c33a.txt,打开后找到index.php源码
<?php$info = ""; $req = [];$flag="xxxxxxxxxx";ini_set("display_error", false); error_reporting(0); if(!isset($_POST['number'])){ header("hint:6c525af4059b4fe7d8c33a.txt"); die("have a fun!!"); }foreach([$_POST] as $global_var) { foreach($global_var as $key => $value) { $value = trim($value); is_string($value) && $req[$key] = addslashes($value); //若is_string($value)为真,则执行$req[$key] = addslashes($value) } } function is_palindrome_number($number) { $number = strval($number); $i = 0; $j = strlen($number) - 1; while($i < $j) { if($number[$i] !== $number[$j]) { return false; } $i++; $j--; } return true; } if(is_numeric($_REQUEST['number'])){ //这里判断的是未经trim()和addslashes()处理过的变量 $info="sorry, you cann't input a number!";}elseif($req['number']!=strval(intval($req['number']))){ $info = "number must be equal to it's integer!! "; }else{ $value1 = intval($req["number"]); $value2 = intval(strrev($req["number"])); if($value1!=$value2){ $info="no, this is not a palindrome number!"; }else{ if(is_palindrome_number($req["number"])){ $info = "nice! {$value1} is a is_palindrome_number number!"; }else{ $info=$flag; } }}echo $info;
利用fiddler构造post请求:
在post的数据0e-0后面加一个空白字符(或者添加unicode编码过的空白字符如:%00,%20等)以构造字符串满足is_numeric($_REQUEST['number'])
的要求,构造字符串0e-0绕过$req['number']!=strval(intval($req['number']))
阅读全文
0 0
- 实验吧-你真的会PHP吗?writeup
- 你真的会php吗?
- 你真的会使用杀球吗?
- 你真的会用GOOGLE吗
- 你真的会写JavaScript吗?
- 你真的会二分查找吗?
- 你真的会二分查找吗?
- 你真的会学习了吗?
- 二分查找,你真的会吗?
- 你真的会用 const 吗?
- 二分查找,你真的会吗?
- 你真的会用搜索引擎吗?
- 你真的会旅游吗!?
- 你真的会使用logcat吗
- 你真的会二分查找吗?
- 你真的会二分查找吗?
- 你真的会二分查找吗?
- 你真的会二分查找吗?
- 如何避免产品设计中的「生造方案」和「重新发明轮子」
- android系统启动流程
- 【OI之路】11更高级数论-2莫比乌斯反演
- linux分区的基本方案
- 产品设计过程中,异常流程设计的那些事儿
- 实验吧-你真的会PHP吗?writeup
- java多线程详细基础概念
- SQL语法学习记录
- 聊聊全链路设计和传统设计的流程差异
- 最长上升子序列——O (nlogn)算法原因解析!为什么这样可以求出来!(附带动态规划dp + 二分查找讲解)
- tensorflow小白---Operation was explicitly assigned to /device:GPU:1 but available devices are [ /job:l
- java鬼混笔记:springboot 10、springboot logback-spring.xml简单的日志配置
- Ubuntu16.04 Android开发环境搭建JDK SDK NDK
- Loj #114