你真的会php吗?
进去看见have a fun!! emmm.......一点都不fun........
然后响应头看见hint,访问试下

然后就看见后台源码了
<?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);
}
}
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'])){
$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 palindrome number!";
}else{
$info=$flag;
}
}
}
echo $info;
题目大意:构造一个数满足条件:
$number不是数字;$number==strval(intval($number));$number不是回文数
这里要看下操作系统,32位有符号数int范围-2147483648~2147483647;64位-9223372036854775808~9223372036854775807
可用payload
32位:2147483647%00;%00
2147483647;2147483647%20
64位:9223372036854775807%00;%009223372036854775807;9223372036854775807%20
%00可以放在数字前后,%20只能放在后面;这里的%00或者是%20可以将数字解释为字符串
也可以构造0=0
payload
0e-0%00
用hackbar发一波就行了

----------------------------------------------
Forms
这题进去叫你输个pin码
Xi4or0uji:就不能对咸鱼好点吗?

想了想题目是form,应该不会是叫你破解pin.........提示是在表单吧,读代码读代码

看到有个showsource,value是0,改成1试下
后台代码就出来了

回去提交就出flag