LoRexxar's Blog

0CTF/TCTF2018 Final Web Writeup

最棒的CTF就是那个能带给你东西和快乐的CTF了,共勉 show me she shell这是一道tomato师傅出的不完整的java题,java…,java…我恨java┑( ̄Д  ̄)┍ 这是一个题目一是列目录+任意文件读取, 二是垂直越权+CLRF配SSRF打redis+反序列化命令执行 题目的难度在于代码本身的不完整和java,没办法实际测试,所以只能强行阅读源码,幸运的是代码结构是spring完成的,和python的flask/django结构很强,这为我们阅读源码提供了可能。 1整个代码中,控制器只有5个,其中12345index 首页login 登陆、注册manager 管...

pwnhub 改行做前端

题目说实话是完成了一半,后一半是无意中上车的,有一些迷…关于注入部分是后来才发现的。 这里先按照我的思路来吧 self-xss站内有提交bug的地方,地址必须是http://54.222.168.105:8065/开头,也就是说我们必须找到一个self-xss的地方。 无意间发现,如果提交错误,那么错误是通过302跳回?error=xxx来输出到页面内jquery中,然后通过jquery输出到页面的,输出内容大多都经过了转义。 也就是说我们没办法通过闭合语句来执行js。 这里有一个小trick,假设<>没有被过滤,那么可以直接插入一个</script>,那么s...

通过浏览器缓存来bypass CSP script nonce

原文被我发在freebuff上http://www.freebuf.com/articles/web/133455.html 最近看了去年google团队写的文章CSP Is Dead, Long Live CSP!,对csp有了新的认识,在文章中,google团队提出了nonce-{random}的csp实现方式,而事实上,在去年的圣诞节,Sebastian 演示了这种csp实现方式的攻击方式,也就是利用浏览器缓存来攻击,事实上,我很早就看到了这篇文章,但是当时并没有看懂,惭愧了,现在来详细分析下。 漏洞分析原文http://sirdarckcat.blogspot.jp/2016/...

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

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

pwnhub 打开电脑

这是个比较特别的题目,开始上来逛了逛发现其实挺迷的… 123456题目介绍http://52.80.1.108:66662017.02.18 20:00:00没有SQL注入,仔细看CSP头。2017.02.18 12:00:00管理员只爱看有意思的东西,谁关心bug啊哈哈哈哈。 看看站内的功能,min.php和max.php可以提交md5,会显示最大或者最小的md5,但是输入的地方存在正则,研究了一下发现不能输入任何符号,也就意味着这里不存在问题。 有个contact和report bug,content提交有趣的md5,但不同的是,没有正则提示,很多都提示提交成功,report bu...

有趣的cdn bypass CSP

最近在逛github的时候看到一个bypass csp的挑战,也是我最近才知道的一个新思路,一般人bypass csp都是通过允许域下的某个漏洞构造文件绕过,但是其实往往没人注意到cdn的问题。 先贴上原文https://github.com/cure53/XSSChallengeWiki/wiki/H5SC-Minichallenge-3:-%22Sh*t,-it%27s-CSP!%22 这个利用方式其实我在ctf里也遇到过https://blog.0daylabs.com/2016/09/09/bypassing-csp/ 我们写个简单的demo 12345678910111213...

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来执行的话,应...

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,发现题目思路和去年...

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 在很多大型的站中我们...

CSP Level 3浅析&简单的bypass

文章是之前发表在安全智库的文章,主要是一些CSP的分析和一部分bypass CSP的实例 最近接触了很多次关于csp的东西,但是发现wooyun知识库只有2年前的浏览器安全策略说之内容安全策略CSP,实际阅读却发现和现在的语法差异很大,于是整理了这篇文章 什么是CSP?Content Security Policy (CSP)内容安全策略,是一个附加的安全层,有助于检测并缓解某些类型的攻击,包括跨站脚本(XSS)和数据注入攻击。 简单来说,csp就是为了减少xss,csrf等攻击的,是通过控制可信来源的方式,类似于同源策略… CSP以白名单的机制对网站加载或执行的资源起作用。在网页中,...

gif bypass CSP?

前段时间看到了一个有趣的bypasscsp的文章,最开始是在html5sec上看到的http://html5sec.org/#138这里本来说的是关于link的import属性,但示例中却使用gif bypass了csp,研究了一下午,发现了一些有趣的东西。 原文首先是原文http://html5sec.org/cspbypass/我们看到作者的标题是CSP Bypass in Chrome Canary + AngularJS并且如果你使用了chrome浏览器(值得注意的问题是这个demo只有chrome才会弹窗),可以明显的看到有弹窗。 那么让我们来分析一下demo吧 原理这个方式的...

input属性bypass csp

前两天看到一篇文章,可以通过input标签的某些属性,来控制form获取crsftoken并且完美bypass csp。 文章的原文是在https://labs.detectify.com/2016/04/04/csp-bypassing-form-action-with-reflected-xss/ 首先测试环境设置default-src: 'none'禁止所有的js脚本,所以执行js是没办法了,但是却可以通过巧妙地方式csrf,这里使用的就是link标签,这里就不多说了,之前写过一篇文章专门讲link标签… 首先我们的测试环境是这样的:123456789101112...