ctf笔记(i春秋) 19.10.21- 19.11.19.txt

本次笔记以i春秋为主

登录
题目给出登录框和密码,采用万能密码注入,发现用户名可注入但密码段无法注入
根据报错提示,猜测可进行盲注
使用1' or database() regexp '^a'# 正则盲注发现可以
然后发现源码中username的class为user_n3me,猜测字段名就是user_n3me
进行盲注发现注出了帐号
同理,password的class为p3ss_w0rd,注出了密码md5,解码即可
登录,发现提示.bctfg1t login.php index.php,后两个php分别是登录页面和提示页面
访问.bctfg1t,发现403,g1t是git是1337语言写法,疑似git源码泄漏,访问/.bctfg1t/config成功
确定为git源码泄漏,直接上工具gitdumper
下载源码后,用git cat-file -p object文件目录 查看文件(注意,要把\去掉)
解析出一个php,内含一个网址,访问则得到flag

再见CMS
网站左上角爆出绝对路径,用扫描工具扫出后台,发现是齐博CMS,访问flag.php发现提示flag is here
猜测是通过sql注入用load_file读取flag.php
上网搜索发现了一个userinfo注入的漏洞
根据漏洞,先注册一个用户,并记下uid和email(这里简记为xxx)
构造一个post:
url:xxx/member/userinfo?job=edit&step=2
data:
truename=1%0000&Limitword[000]=&[email protected]&provinceid=,address=(select user()) where uid=xxx%23
发现提示修改成功,访问个人主页,发现信息出现在address一栏
然后用同样的方法直接读取flag.php
truename=1%0000&Limitword[000]=&[email protected]&provinceid=,address=(load_file(/var/www/html/flag.php)) where uid=xxx%23
提示错误,没有修改成功,将/var/www/html/flag.php转码为hex,成功修改
然后address栏什么都没有。。。结果在查看源码里发现,flag隐藏在注释里

SQLI
进入页面,审查源码发现login.php?id=1,进入后进行注入测试发现无效
bp抓包,访问根目录,发现其中有一个包的header中有page:l0gin.php?id=1
访问发现真正的页面
通过修改id的值发现表有2个字段
在使用order by 1,2时发现1后面的内容被截断,怀疑是逗号过滤
使用-1' union slecelt * from (select 1)a join (select 2)b# 进行绕过 (这个语句等价于union select 1,2)
发现回显2,即第二个字段可以正常回显
-1' union slecelt * from (select 1)a join (sqlinject)b# 进行常规注入即可
这些坑需要注意:
bp的repeater模块不会自动将空格之类的自动编码为%20,但如果不转换为url编码,语句就会失效

gift
进入页面,审查源码,发现图片src=?user=123
改为admin后,无变化,访问admin目录,提示hello admin
根据提示,到github搜索c62,发现存在该用户
按提示下载zip包,提示日期是密码,用fcrackzip快速爆破后,得到SECRET_KEY
上网搜索,发现相关的django反序列化漏洞
执行POC后得到cookie,访问时替换cookie即可

fuzzing
审查源码无发现,扫描目录无发现
bp抓包,发现response中含有:hint: ip,Large internal network
在request中加入X-Forwarded-For:10.1.1.1 (A段IP)
一路Forward后发现403,重新请求,放入repeator中(因为后面都需要XFF),添加X-Forwarded-For:10.1.1.1
返回信息show me your key
访问m4nage.php?key=1无效
猜测是post提交,改成post之后,提示:
key is not right,md5(key)==="1b4167610ba3f2ac426a68488dbd89be",and the key is ichunqiu***,the * is in [a-z0-9]
写脚本爆破后三位,得到key,提交,得到提示xx00xxoo.php,访问,提示:
source code is in the x0.txt.Can you guess the key
the authcode(flag) is 1b30q3dC/mR3412z3EXCCSNJrkEtPgDUf/vBP5vnsRoboLqsZ6qM+ewE1b1l5tpgpUlvI62WZxJIWRExy0y+lgQrI3Iv6Lc
访问x0.txt,得到一段php源码
复制下来放进php环境中,根据function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0)
在最后写 echo authcode('1b30q3dC/mR3412z3EXCCSNJrkEtPgDUf/vBP5vnsRoboLqsZ6qM+ewE1b1l5tpgpUlvI62WZxJIWRExy0y+lgQrI3Iv6Lc','DECODE','ichunqiu105'); (这里的key是指之前爆破出来的key)


猜你喜欢

转载自www.cnblogs.com/5h4d0w/p/11920650.html