博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验吧--web--你真的会php吗
阅读量:4524 次
发布时间:2019-06-08

本文共 1438 字,大约阅读时间需要 4 分钟。

---恢复内容开始---

实验吧的一道题php审计题。拉下来写一写。 

打开之后说have fun

那就抓包来看看吧

  

 

嗯...没啥收获,放在repeater里面看看

 

 

是这样的,根据response反馈的信息,我们可以看见 hint(提示)

那就打开它看看吧

 

 代码审计走一波。

$value) { $value = trim($value); //trim() 函数移除字符串两侧的空白字符或其他预定义字符。 is_string($value) && $req[$key] = addslashes($value); } } //global $var是外部$var的同名引用或者指针。//函数function is_palindrome_number($number) { $number = strval($number); //本函数可将数组及类之外的变量类型转换成字符串类型。 $i = 0; $j = strlen($number) - 1;//strlen() 函数返回字符串的长度 while($i < $j) { if($number[$i] !== $number[$j]) { return false; } $i++; $j--; } return true; } //判断是否为数值型if(is_numeric($_REQUEST['number'])){ $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"])); //strrev() 函数反转字符串。 if($value1!=$value2){ $info="no, this is not a palindrome number!"; }else{ //判断回文数 if(is_palindrome_number($req["number"])){ $info = "nice! {
$value1} is a palindrome number!"; }else{ $info=$flag; } }}echo $info;

 

如果要拿flag,需要满足以下条件:

1.不为空,且不能是一个数值型数字,包括小数。(由is_numeric函数判断)
2.不能是一个回文数。(is_palindrome_number判断)
3.该数的反转的整数值应该和它本身的整数值相等。即:
4.post个number.

 

转载于:https://www.cnblogs.com/EEEE1/p/8074574.html

你可能感兴趣的文章
Docker快速配置指南
查看>>
Python基础---OS模块 (二)
查看>>
【JS点滴】substring和substr以及slice和splice的用法和区别。
查看>>
awk多模式匹配
查看>>
线段树
查看>>
a span等行内元素加margin属性后无效果解决方案
查看>>
傻瓜式硬盘重装win7系统图文加视频教程
查看>>
BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
查看>>
如果一个人请优雅的活着。
查看>>
验证码
查看>>
Django缓存配置
查看>>
Ubuntu下安装 Mysql
查看>>
LeetCode--Reverse Integer
查看>>
PHP_APC+Ajax实现的监视进度条的文件上传
查看>>
计算机网络课堂笔记3.29
查看>>
word2vec----CBOW
查看>>
衰减学习率真的有用吗?
查看>>
ORACLE 建库过程总结
查看>>
Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用...
查看>>