2014 xdctf writeup

admin 2022年5月16日22:08:35评论55 views字数 8936阅读29分47秒阅读模式

0×00 前言
感觉这篇写的有点简单 phithon p神有更详细的分析 放到最后有下载
题目的链接 xdctf2014题目(不含web).zip

0×01 Web
WEB20
什么,小P说来点彩头?先出个简单的,就WEB20吧。
题目链接: WEB20 http://game1.xdctf.com:8081/H86Ki4NnCSVv/
hint > 大家不知道复活节要玩什么吗?(非前端题,请勿关注html注释、css、javascript等)

p神出的题目 果然能涨姿势,一开始并没有做出来 坑了好久
http://game1.xdctf.com:8081/H86Ki4NnCSVv/
一开始去研究图片去了,没发现什么 方向错了 图片的时间也是很久以前的
根据提示 去研究了一下 复活节要玩什么吗? 说是要玩彩蛋 也就是后面的jpg给出的图片
然后去百度了一下php彩蛋 发现php居然还有这种特性 也是涨姿势了
php彩蛋资料
http://game1.xdctf.com:8081/H86Ki4NnCSVv/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
2014 xdctf writeup
在最下面发现了信息
Your Flag flag-WhatisPhp-mtzeXAtcKA53

WEB50
在业界都知道,哪一行都不好做,我们这一行也不例外,拿XSS来说,没两把刷子,你还能混得下去么,下面是某黑写的XSS编码神器,你值得拥有,但是为了版权问题,他在里面留了标记,找到标记,这神器就是你的!!牛x的你值得拥有……..

之前flag有点小BUG,现在已经修复了哦~
http://game1.xdctf.com:8083/dc8ef3443c5d433af9dd/xxxx.rar
下载下来有一个crx文件 是chrome的插件
研究一下插件的格式 发现是一个压缩包 解压出来看看
2014 xdctf writeup
发现一个fuck.jpg 修改时间比较奇怪 是后来加进去的 拿来研究一下
2014 xdctf writeup
一不小心就看到了一个备注

107 101 121 32 105 115 58 88 68 83 101 99 64 50 79 49 52

提取出来 是一个10进制的 转成ascii码
key is:XDSec@2O14

Web70
大家都说XSS很不好玩,但是会玩的人就是很好玩,你觉得呢?呵呵呵呵
http://game1.xdctf.com:8083/83816b979ce0dfd72b5e/index.php
2014 xdctf writeup
<script>_</script>
随便提交一个字符尝试一下 发现被过滤了 嵌套在脚本里
burp fuzz 测试
:+;[{,\=]}.~!$’()

jsfuck 利用6 个字符 []()!+
jsfuck资料

[][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]][([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]]]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]]+([][[]]+[])[+[[+!+[]]]]+(![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[+!+[]]]]+([][[]]+[])[+[[+[]]]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]((![]+[])[+[[+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]+(!![]+[])[+[[+[]]]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[+!+[]]]+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+[+!+[]]+([][(![]+[])[+[[+[]]]]+([][[]]+[])[+[[!+[]+!+[]+!+[]+!+[]+!+[]]]]+(![]+[])[+[[!+[]+!+[]]]]+(!![]+[])[+[[+[]]]]+(!![]+[])[+[[!+[]+!+[]+!+[]]]]+(!![]+[])[+[[+!+[]]]]]+[])[+[[+!+[]]]+[[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]]])()

2014 xdctf writeup

Web100
啥都不说,看题目吧!题目
http://game1.xdctf.com:8083/f16c3b1ed800fc78e605/index.php

这个给了个png的图片 研究一下 发现是LSB然后就秒了
用stegsolve来弄
RGB每个通道的最低位都是一样的 随便取一个通道就可以了
2014 xdctf writeup
Xd$eC@2o14

Web200
自从小P告诉离休老干部le4f python怎么写网站以后,就一发不可收拾。

这是le4f的新作:http://y0pk678.xdctf.com:8081/

说明:本题flag形式为XDCTF{XXXX},填入XXXX内容即可。
http://y0pk678.xdctf.com:8081/
u may need help information.

http://y0pk678.xdctf.com:8081/help
<html>welcome to my first web.py project.<a href = ‘./read?file=readme’></a></html>

http://y0pk678.xdctf.com:8081/read?file=readme

我猜你可能不知道还有第二行
咦,怎么还有第三行

奇怪,为什么没全部显示出来
哦,我懂了些什么

这是newapp.py的说明文件
我猜你可能不知道还有第二行

刷新发现有不同的返回 然后就利用读取文件去访问newapp.py
http://y0pk678.xdctf.com:8081/read?file=newapp.py
每次也是返回两行代码 利用了burp去爆破一下 通过返回长度来获取那些文件
关键的几处代码

urls = (
	'/getflag', 'xdctf',

def func(a):
  if a == 'le4f.net':
    flag = open("flagishere","r").readlines()[0].strip()
    web.header('flag', flag)

web.input(_unicode=func(web.input(unabletoread = 'show me flag!!!!').get('unabletoread')))
return "flag is here?!!show me flag!!!!"

然后就是理解如何输入输出的 get(‘unabletoread’) 这里有一个重载默认是show me flag!!!!
在前面可以看到要让这里a和’le4f.net’相同才可以
构造 尝试一下 会在header返回
http://y0pk678.xdctf.com:8081/getflag?unabletoread=le4f.net
2014 xdctf writeup
flag: XDCTF{X1di4nUn1Vers1tySecT3AM}

Web150
最近,小黑在学习入侵技术的过程中得到一款功能十分强大的php木马,但是使用了一段时间发现,自己拿到的shell老是被别人登录,但刚开始学习的小黑,对php代码不是很熟悉,你能帮他分析下这代码吗?找到后门接收shell的密码作为key,不是后门密码哟……..
http://game1.xdctf.com:8083/84a01d6a872639538a41/shell.rar

发现了有一个php的马 有混淆 需要先找到密码进入才好观察
慢慢echo(); 那些变量 找类似于password的东西
最后找到密码是b374k
最后在linux下操作 因为马在win下的编辑器 重新保存容易改变编码 马就不能用了
自己本地翻翻这个马 发现还是挺漂亮的
2014 xdctf writeup

2014 xdctf writeup
最后在smtp的设置里找到了flag
XDSE@LOVEr2014

Web180
具体题目要求看题目。
http://game1.xdctf.com:8083/652bf75933aebf659462/index.php
http://game1.xdctf.com:8083/652bf75933aebf659462/wwwroot.rar

2014 xdctf writeup
社工题 有点像去年的舞动旋律的那个题 印象深刻
2014 xdctf writeup
发现了一个隐藏文件 about.asp
打开一看是个马

UserPass="3895"  '密码
mNametitle ="gh0st2014"  ' 标题
Copyright="qq:2725629821"  '版权

提取出关键的信息
用户名 gh0st2014
去搜一下qq
2014 xdctf writeup
发现了这个东西 然后去算身份证
中国 陕西 西安 长安区比较坑爹 一开始算错了610116 这个是错的
长安县(610121) 这个才是对的
然后就构造生日 属牛的话 是85年
19850507
然后就是后四位了
猜测是密码3895或者是签名3826
组合一下 用户名 gh0st2014 身份证610121198505073895
2014 xdctf writeup
key:Welcome@Xidan$@clov@r

Web250
小P闲暇时间开发了一个留言板,供浏览者与管理员进行交流,不过听说有点问题?
地址:http://lsoyon.xdctf.com:8081/4CgtWuwdouSE/
FLAG在管理员的cookie中。flag形如flag-xxxx。
请自行测试确认能获得cookie,再点击提交审核,管理员会查看。管理员的浏览器是chrome最新版哦~
提交审核后请不要删除你的留言,否则管理员看不到的哦~
管理员2分钟看一次留言板,每次停留3秒。看过以后才能够再次提交审核。所以请测试真实通过后再提交。
http://lsoyon.xdctf.com:8081/4CgtWuwdouSE/index.php?a=register

注册一个账号 然后登陆上去
使用如下方式让留言更漂亮:
[a]http://超链接[/a]、[b]粗体[/b]、[pre]代码[/pre]、[i]斜体[/i]等,不允许引用图片。

发现了一个提示 可以使用[]来代替<>
测试了一下 发现是可以的<>
2014 xdctf writeup
尝试弹框 发现过滤了
2014 xdctf writeup

然后发现利用html编码会转换
[script]alert('1');[/script]
尝试弹框 发现失败 尝试利用html5的 svg来绕过
[svg][script]alert('1');[/script]
成功弹框 接下来就是获取cookie了
http://lsoyon.xdctf.com:8081/4CgtWuwdouSE/index.php?a=audit
发现做了windows的csp保护 就使用 windows.location 来进行绕过 csp的限制了来源
然后提交审核就可以了

Web270
小P睡了一觉起来,发现黑客们都饥渴难耐,想日站想疯了。
小P默默地看了看自己的网站:http://ph.xdctf.com:8082/
感觉不知道放个什么程序比较好,而同服的另一个网站居然已经运营很久了:http://hlecgsp1.xdctf.com:8082/
真不知道该怎么办……
ps.这是一个系列题目,分步骤给分。一共4个FLAG都在小P网站所在的服务器中。
请黑客们不要破坏网站文件、数据库。一旦发现有阻碍比赛正常进行的现象,将会恢复服务器到最初状态。
说明:4个flag都形如flag-xxxx

这个题目 没那么难 就是flag不好找
访问发现是只有一个hello world
http://ph.xdctf.com:8082/

发现有一个cms来运行
http://hlecgsp1.xdctf.com:8082/

访问一下发现网站好像被日穿了
那我就用一些原来的截图吧
发现是用的phpok的cms 到wooyun上搜一下
phpok最新版SQL注入二

用的这个漏洞
http://hlecgsp1.xdctf.com:8082/api.php?c=api&f=phpok&id=_project&param[pid]=1 union select 1,concat(version(),0x7e,user()),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33#

注入一发 找了一下user password
d123789fd311dddeb7ce41f06a6d71fd
cmd5查询了一下
198712a5
然后发现登陆不上去
仔细看了admin d123789fd311dddeb7ce41f06a6d71fd:a5
各种尝试 把a5去了才登陆成功

http://hlecgsp1.xdctf.com:8082/admin.php?c=login

admin 198712
在后台翻到第一个flag
2014 xdctf writeup
查看一下源码 发现了flag
flag-letmeshowyoushell

后台的风格管理可以拿到shell 写个一句话上去
flag其实就是提示 第一个flag告诉我们第二个要有shell才有第二个
拿到shell后查看一下目录 发现有个flagishere~的php 看了一下 发现了第二个flag
define(‘flag’, ‘flag-3rdf1agis0nth155erver’);

flag提示了第三个flag is on this server 是在本服务器上 找了好久也没找到
还好在目录下看到了p神测试的mysql.php 轻松拿到第四个flag
提示说了ph那个网站嘛 我们就要去尝试
然后我看mysql.php里是读取了config.php的 那么就去构造一下 利用mysql的load_file去读取文件
select load_file(‘/home/wwwroot/ph/config.php’)
获取第四个flag
第三个卡了比较久 到晚上才搞出来
我发现我们是超过了 跳了一步 可能 需要我们中间去读取ph的目录 才能获取config.php 才进去第四个
然后就是利用了open_basedir_bypass这个马来绕过目录 跨目录读取文件
ph目录下的一个文件名就是flag

0×02 Crack
Crack120
某天,小黑在某服务器上得到一个data文件,旁边有句挑衅的话“有种你就解开data中的数据”,小黑折腾了半天,没任何发现,但是推敲出,该目录下的另外一个文件,与data息息相关,你来试试?

http://game1.xdctf.com:8083/07093ee8f0757df55def/data.rar

解压一下 发现了一个data和一个脚本
file看一下脚本 是pyc的
uncompyle2反编译一下 得到了源码 研究源码 写一个逆向的
琪琪的python

#!/usr/bin/python
import sys
def main():
    ret = ''
    with open(sys.argv[1],"rb") as fin:
        data = fin.read()
        ba = bytearray(data)
        for i in ba:
            if i & 0x80:
                ret += '1' * (i & 0x7f)
            else:
                ret += '0' * (i & 0x7f)
    final = ''
    for i in range(0,len(ret),8):
        temp = (ret[i:i+8])
        temp2=''
        for i in range(0,len(temp)):
            temp2 += temp[len(temp)-i-1]
        final += chr(int(temp2,2))
    print final
    return
if __name__=='__main__':
    main()
python decode.py>1.jpg

2014 xdctf writeup

Crack150
这个是一个apk,找到key,题目
http://game1.xdctf.com:8083/97eca05741f84681720d/Artifact.rar
apk文件 先拿来解压一下 再翻翻

发现Artifact\assets\k.jpg
这个图片
2014 xdctf writeup

winhex里看看 发现有dex文件头
2014 xdctf writeup
发现了dex文件 一开始想要去修复dex文件 发现很坑爹 然后就卡住了
直到后来发现了文件里的一串特殊的字符串
E2809C6B6579E2809DE79A84E5B08FE586993136E4BD8D6D6435E58AA0E5AF86
测试过各种 后来发现就是个url编码 搞了半天是编码的问题 小郁闷
%E2%80%9C%6B%65%79%E2%80%9D%E7%9A%84%E5%B0%8F%E5%86%99%31%36%E4%BD%8D%6D%64%35%E5%8A%A0%E5%AF%86

http://www.baidu.com/baidu?wd=%E2%80%9C%6B%65%79%E2%80%9D%E7%9A%84%E5%B0%8F%E5%86%99%31%36%E4%BD%8D%6D%64%35%E5%8A%A0%E5%AF%86&tn=monline_dg

“key”的小写16位md5加密
md5(‘key’)
9c15224a8228b9a9
出来了这个东西就是flag了

Crack180
ZZ发现土豪Ph在用SafeAccountSystem给Le4f打一笔退休金$23333,ZZ截断了支付过程的密文,打算捉弄一下他们把退休金打到自己账户Z2333上。
密文点此处下载: http://game1.xdctf.com:8081/Z4l2Lu7XkNBa/crypt.txt
支付系统的地址 game1.xdctf.com 端口,50008,请用nc连接(telnet不行)
本题考点加密与解密,可是没这个分类,真拙计。
本题flag形如xdctf{xxx},答案填入xxx即可。

是个加密解密的题目
研究了比较久 发现给出的密文是只有0-9AB 这几个字符
然后就去研究中间 后来在注册Ph的时候发现失败了 然后就想到要是搞到Ph的密码这个题不就搞定了 确定了发现就是尝试规律 发现在里面又会用到密码的 只是经过了一层加密

595270AABAA5853AAAAB133AABAA07AAAABAAABBAAAAB5AAABB7AABAB827AAABB0AAABBAABAB6AAAAA910AAABBAABAA23289280801AABABAAAAAAABAAAABABAAABBAAABB4078AABAA56AABABAAAAB8AAABA2AAAAB5AAABA881AABAB2AAAAB7AABAB58AAAAA096AAAAA367AAAAA32AAAABAABAA33AAABB7248989AAABB6AAAAB2319AABAB091AABABAABAB4AAAAA12AABABAABAB2AAAAA4717AAABB4AAABA01AAAAB242927AAAABAABAA0643AABAB06AABABAAAABAABAA29AAAAB10AAAAAAABAA

提取出和密码相关的

AAAAB8AAABA2AAAAB5AAABA881AABAB2AAAAB7AABAB58AAAAA096AAAAA367AAAAA32AAAABAABAA33

发现是把字母拿去进行了培根加密 数字不变
b8c2b5c881f2b7f58a096a367a32be33
获取密码 登陆之后按照要求 给Z2333打23333就可以获取flag

0×03 后记
感觉写得有点水 放一个官方的writeup吧 phithon对于open_basedir的分析很精彩 可以去围观一下
XDCTF2014部分官方Writeup.doc
XDCTF2014-WriteUp.pdf

FROM :appleu0.sinaapp.com | Author:appleu0

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月16日22:08:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   2014 xdctf writeuphttp://cn-sec.com/archives/1012289.html

发表评论

匿名网友 填写信息