首页 > WriteUp > XDCTF Web的WriteUp

XDCTF Web的WriteUp

2014年10月4日 发表评论 阅读评论

写在前面

1. 这个部分的题目是我,z7y,2/4三个人共同完成的,所以有些部分写的可能不详细,敬请谅解
2. 我只写了我们做过去且拿到flag的,对于没拿到的(包括web150 web270)由于一些其他原因,包括但不限于不会做,做了一半失败了等等最终没拿到flag,所以直接不写出来,以免的丢人
3. 转载请注明出处- -!

Web20

老实说,这题目很简单,简单的我无言以对,但是TMD就是花了很长时间去看…
题目地址:http://game1.xdctf.com:8081/H86Ki4NnCSVv/
提示和前端安全没任何关系,遂不考虑html js,这题难了我一下午了,直到一位基友告诉我去看看php彩蛋
相关文章:http://www.myhack58.com/Article/html/3/8/2011/31825.htm
遂在URL之后加入php彩蛋
http://game1.xdctf.com:8081/H86Ki4NnCSVv/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000
出现phpinfo信息,拉到最底下即可见flag


Web50

题目要求是查看某牛写的XSS神器,把该神器下载下来
下载到文件之后,解压,里面有个名为XSS.crx的文件,crx是Chrome类浏览器的扩展,采用zip方式压缩而成,把该crx改名为zip,解压,得到以下文件


原谅我第一眼就瞄上了fuck.jpg,遂手贱右键用记事本查看,发现以下内容

看到那些数字,隐隐感觉像是Ascii码,于是抄百度以Ascii形式弄出来

拼起来之后 key is:XDsec@2O14
过关…

Web70

一道XSS题目,输入的东西会输出在script标签当中,字母a-z,A-Z都会被过滤成_,所以不能使用字母,遂想到jsfuck,一个纯符号来完成的js
把alert(1)用jsfuck编码之后获得以下代码

直接提交,弹窗,


把该答案发送给官方即得flag

Web100

2/4用了一个神器直接秒了- -!
具体过程我也不知道唉- -!
神器下载地址:http://www.caesum.com/handbook/Stegsolve.jar
装好java环境,打开神器,载入图片,然后如图选择


然后选择菜单栏的Analyse—Data Extract,然后秒出- -!

Web150

智商拙计,不会做TAT

Web180

这题目几乎和web没啥关系,多半是社工
首先下载到wwwroot.rar,解压,发现是aspcms,一开始不知道,在源程序,数据库翻了半天,啥都没有,最后尝试看看是否有隐藏文件,在web根目录下发现了about.asp比较可疑


获得了一些重要信息,列举如下

然后得到了题目
username=gh0st2014
提示说password为身份证号,于是去查这个QQ号,获得以下信息


年龄:29 可推断出出生年份为1985
生日:5月7日
得到了身份证中的生日信息为19850507
所在地:陕西省西安市长安区 可得到身份证前六位地区信息

查询地址:http://tool.114la.com/live/idcard/
现在已经知道身份证号前14位
61012119850507
在其空间发现这么一条说说

得到了身份证最后4位为3895
最后,总结信息
username=gh0st2014
password=610121198505073895
提交即可过关

Web200

题目地址:http://y0pk678.xdctf.com:8081/
进去首先看到这样子


u may need help information.
随手在URL之后打个help,出现下列信息

出现这个提示,然后右键查看源代码发现一个a标签,没有写内容,打开这个a标签

然后出现这个提示

似乎是一个没说完的话,刷新一次,发现话语又变了

于是多刷新几次,获得以下提示语

看起来是可以接在一起的,把他们接在一起之后

我只能说,好变态····一次读取3行,要结合上一行的内容去找到下一行的位置
根据之前获得的一个信息:这是这是newapp.py的说明文件
知道有个文件名为newapp.py,然后查看这个URL
http://y0pk678.xdctf.com:8081/read?file=readme
隐隐感觉是文件读取,尝试吧readme换成newapp.py,读取出了其他的东西


多刷新几次,获得了不同的内容,和之前的readme一样,也是需要拼接的,但是拼接之前,需要更多地内容,于是用seraph写了个爬虫

然后让爬虫跑了几分钟,获取了大量的片段,如图


接下来最鬼畜的事情来了,我花了半个小时,对这个该死的代码片段进行了复原,最终得到了以下代码

重点在于之前的url定义和xdctf类里的func函数,行9-行30


根据这部分代码可以看到取得flag的url是/getflag,而getflag指向的是xdctf类
在xdctf类中调用了func函数,在func函数中传入值等于le4f.net才会在web的header中显示flag
返回来看xdctf类,func的传入值由unabletoread变量传入,而unabletoread的值以GET方式由HTTP传入,于是构造下列URL
http://y0pk678.xdctf.com:8081/getflag?unabletoread=le4f.net
打开chrome的开发者工具,切换到Network选项卡中,然后刷新,点击资源,在Response Headers中View Source,即可看到flag
如图

Web250

首先进去随便注册一个用户,我这里注册的是
账号:line
密码:line
然后给管理员留言,插入xss代码

等了一段时间发现不行,然后z7y告诉我吧尖括号换成方括号

过了一段时间果断收到了cookies,
用cookies浏览器登陆之后,右键查看源代码,得到flag

Web270

分四部分,phpok的cms
原谅我智商拙计,仅仅找到一个已发布的注入漏洞,而且不知道如何跨表查询,失败- -!

其他说明

如需转载烦请注明出处
来自于LinE's Blog
From: http://blog.l1n3.net
谢谢~~

分类: WriteUp 标签:
  1. test
    2014年10月5日23:13 | #1

    web150 其实只要百度 php解密 第一条 php神盾解密就可以得到清晰源码,搜 pass 很快就有flag
    web270 百度phpok漏洞 当时第一条搜索结果 sqlmap注入

    • line
      2014年10月6日21:13 | #2

      谢谢提示,我去看看去

  2. test
    2015年9月29日21:42 | #3

    谢谢,受教了:)

  1. 2016年6月18日18:20 | #1