LoRexxar's Blog

第十届信息安全国赛 Web MISC writeup

周末花了一整天的打国赛技能赛的线上赛,去年比赛没能进入线下,当时就是因为感觉选手之间py太严重,今年没想到又遇到了这样的问题,所幸的是,今年运气比较好,做出来的题目比较多,所以py没有太过影响到我们。 下面就奉上web和misc的writeup,就我个人看的话,题目虽然不够新颖,但质量已经算是中上了,所谓的抄袭不知道是不是我见识短浅,就我个人看来都是比较正常的思路,xss可能抄袭了一个sandbox吧,感觉对题目本身没有太大的影响。 webphp挺有趣的一题,虽然过滤很多,但是php是世界上最好的语言,能做的事情还是有很多 列目录,可以找到flag文件1code=$f=[];$d=ne...

0ctf2017 final

几周前刚刚从0ctf final的现场回来,虽然名词不好,但是收获很多,一直没来得及整理,今天终于整理完了… AVATAR CENTER题目很简单,但是刚上手的时候挺萌比的,一共两个功能。 1、修改时区,登陆注册之后有一个修改时区的功能。(盲测讲道理是没什么卵用的)2、上传头像,这里盲测的结果是没有不会做任何处理,包括文件名和内容,但是头像内容是通过函数返回的,访问getavatar,返回文件内容,没办法找到目录在哪。 研究了一会儿发现这题被秒的差不多了,感觉有忽略的条件,于是扫端口发现2121存在ftp服务,匿名登陆上了服务器,翻了翻拿到了源码。 分析下逻辑主要是这样的。 输入时区必...

RCTF2017 web writeup

膜蓝猫师傅,比赛中的很多题目使用的技巧其实都是常用的技巧,但是却没想到会在不同的情况下产生新的利用,让我有了新的理解。 rcdn12345Are you pro?http://rcdn.2017.teamrois.cnThere is no XSS or SQLi. Just prove you are a pro(e.g owning a pro short domain), you will get flag. 这里是个挺常见的trick,之所以做出来的人,可能是没有想明白题目中的提示。 站内有效的功能不多,可以新建basic的cdn,新建成功之后,会获得一个8位的随机字符串做...

PlaidCTF 2017 web writeup

原文我首发在freebuff上http://www.freebuf.com/articles/web/133336.html 稍微整理下pctf2017的web writeup,各种假web题,有心的人一定能感受到这些年国外的ctf对于web题目的态度 只可惜有道很有趣的游戏题完全无从下手,也找不到相关的wp,很可惜 echo上来时flask的代码审计 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636...

pwnhub 绝对防御 出题思路和反思

由于整个站最初的时候其实是用来测试漏洞的,所以被改成题目的时候很多应该注意的地方没有仔细推敲,在看了别人wp后仔细研究了一下,我发现题目本身漏洞就要求admin和xss点在同源下,整个漏洞被改成ctf题目是存在冲突的,再加上flag所在的地方使用了referer check本身就有问题,导致题目有了很多非预期解法,深感抱歉。 下面就完整的整理一下wp和所有的非预期攻击方式 初逛站里面什么都没有,聊天版的地方存在基本的xss,复写就能绕过,但有 简单的csp,允许unsafa-inline,session是httponly的,复写构造xss读admin页面的消息(让admin去请求ap...

360春秋杯2017 writeup

题目不是太有趣,基本都是从hincon那里扒来的,正好整理完了,就发出来吧 where is my cat没什么好说的,很有ichunqiu风格的一题 进去发现https签发机构不合法,点开发现颁证机关找到一个域名 到这里本以为是抄hitcon的,然后一通操作发现并不是… 然后发现cookie里有个host=0 把host改成那个域名,getflag 写一写 看一看题目是原题抄http://www.2cto.com/article/201510/446796.html 但是因为没有运维,所以服务器日常爆炸 进来发现可以编辑文件,然后找到exec.php 1234567891011121...

bctf2017 web部分wp

周末干了一发bctf,因为周六出去玩了,所以没能看完所有的web题还是挺可惜的,先整理已经做了的2道火日聚聚的web题,后面在整理别的题目。 paint 打开题目是一个画画板,除了基本的画画功能以外,还可以上传图片文件。浅逛一下整个站不难发现有效的目标点只有2个,image.php和upload.php。 首先分析upload.php,可以上传任意文件,但要求上传文件后缀必须为图片,感觉应该是白名单,上传之后文件会改名,最重要的一点,上传图片的目录服务端做了设置,php后缀的文件会直接返回403,这也说明了后面的漏洞类型。 查看右键源码获得提示,flag在flag.php。 然后是i...

0ctf201 web部分writeup

纪念下偷偷登上萌新榜第一的比赛,也实现了比赛前的愿望,0ctf争取不0分,rsctf争取高名次,:> Temmo’s Tiny Shop题目是个类似于小卖铺的站,最有趣的是刚开始的时候,这题进去是钱很多的,可以随便买,也可以看到hint1OK! Now I will give some hint: you can get flag by use `select flag from b7d8769d64997e392747dbad9cd450c4` 后来突然题目就改了,只有4000块了,买不了hint,很气…(看别人的wp听说admin是弱口令还是什么的,里面一百多万可以随便买…...

NJCTF Web部分writeup

又到了一年一度的比赛季,这次打了打赛宁自己办的NJCTF,这里稍微整理下Web部分的wp,虽然不知道题目是谁出的,但是我觉得大部分题目还是挺蠢的…看的人从中汲取自己想要的知识就好。 WebLogin1login? 没啥好玩的,注册的时候有超长用户名截断 原理就是用户名在check的时候是不同的,但是数据库字段保存是有长度的,所以会发生截断,注册中间为空格的超长用户名就可以截断为admin Get Flag123别BB,来拿FLAGPS:delay 5s 命令执行,没什么好说的。 cat 后用 & ls 列目录下文件flag在../../../9iZM2qTEmq67SOd...

hctf2016 简单部分WEB && misc writeup

因为队伍里没有专门的misc选手,所以其实这次比赛的的misc都是我们凑的,除了最开始的杂项签到,只有你所知道的隐写就仅此而已嘛不是我出的,这里稍微整理一下,整体misc都非常简单,唯一一个比较难的misc题目还因为我的出题失误导致基本上只有一个师傅做题方式接近我的正解,下面稍微研究一下简单的web部分和misc题目 level12099年的flag题目描述:only ios99 can get flag(Maybe you can easily get the flag in 2099最终分数:10pt完成人数:226 进去后发现这么一句话,相信有经验的人第一时间就能反应过来是要改u...

hctf2016 guestbook&secret area writeup

这次比赛专门出了两个xss题目,前段时间阅读了几篇和CSP有关的文章,有了一些特别的理解,所以就专门出了2题 第一题guestbook思路来自于http://paper.seebug.org/91/ 当然我自己也写了分析文章http://lorexxar.cn/2016/10/28/csp-then/ 源码https://github.com/LoRexxar/hctf2016_guestbook 出题思路主要来自于CSP对域的限制,但是没想到翻车了,忘记了location的问题,导致guestbook的做法简单了一倍多,在中途的时候突然发现了几个特殊的payload,发现题目思路和去年...

HCTF2016 ATField writeup

出题的时候,主要思路是来源于2016wooyun峰会中猪猪侠的ppt,里面提到了很多关于ssrf的利用方式,而且国内其实对ssrf的研究并不多,所以一直有想法出一个这样的题,但是由于时间仓促再加上对flask的不熟悉,导致在出题的时候浪费了很多时间,而且还没能出得特别好。 题目源码 由于出题的时候僵化,误解了所谓系统处理输出输入流的问题,所以一直以为ubuntu内核的centos不能正确处理,所以这里一直以为只能通过python来弹shell,由于python的shell应该默认为root…所以我在守题目的时候,每当看到正确的payload就先私聊希望不要搞事情,也做好了随时重启dock...

hctf2016 giligili writeup

题目是我很早以前做的sctf q1中的web500,我做的时候踩了坑,所以花了很久,感觉题目很有意思,所以就修改了题目又放上来了。 正解wphttps://github.com/sternze/CTF_writeups/blob/master/sCTF/2016_Q1/obfuscat/readme.md 最终分数:124完成队伍:64 解题人数意外的多,感觉还是有很多py的人,迷… 分析代码1h = new MersenneTwister(parseInt(btoa(answer[_[$[6]]](0, 4)), 32)); 首先我们根据第一句得到h,h为一个伪随机的数组,根据前四位...

hitcon2016 web writeup

当大家在为祖国母亲庆生的时候,我在打lctf,当大家正为休息而搁置的事情忙碌的时候,我在打hitcon,不过虽然有点儿辛苦,但是一场国内的优质比赛加上顶级的国外比赛,还是让我打开了新世界的大门,orange菊苣大法叼… webare you rich 1&2说实话这题做的也是迷迷糊糊的,反正就是莫名其妙就done了 简单来说就是get address可以得到一个bitcoin的address,但是里面并没有钱。 但是购买flag是需要钱的。 翻了翻发现是存在注入,但是当时也没想着要注入,是找个了世界上最大的bitcoin账户地址,然后通过联合查询绕过对于前缀地址的检查,然后就...

L-ctf2016 Writeup

在大家都为祖国母亲庆生的时候,天天都有人问我:你干嘛呢?出来玩呀….我表示(╯‵□′)╯︵┻━┻,稍微有点儿遗憾的是又刚好错过了小礼物的边缘线,做了2道高分web题还挺开心的o(^▽^)┛,不过xd的服务器也是蛮厉害…题题都要爆破还没怎么崩过…强无敌… WEBweb1 Can you get the flag稍微研究下,发现是注入 1Password :' oorr (seleselectct/**/ sleep(100))# 显错注入 1payload: '/**/anandd/**/updaupdatexmltexml(0,concat(0x27,(seleselectct/**...