LoRexxar's Blog

前端防御从入门到弃坑--CSP变迁

原文是我在内部showcase的时候修改而来的,总结了一些这一年接触CSP的很多感想… 前端防御的开始对于一个基本的XSS漏洞页面,它发生的原因往往是从用户输入的数据到输出没有有效的过滤,就比如下面的这个范例代码。 123<?php$a = $_GET['a'];echo $a; 对于这样毫无过滤的页面,我们可以使用各种方式来构造一个xss漏洞利用。 123a=<script>alert(1)</script>a=<img/src=1/onerror=alert(1)>a=<svg/onload=alert(1)> 对于这样的漏洞点...

阿里先知xss挑战赛 Writeup

8月里阿里先知办了一个xss的挑战赛,可惜全程都刚好属于比较忙的时候,很多题目都是违背基本规则的,要花长时间来搜索尝试…和一个朋友花了一天的时间,也就做出来6、7题,后来就没有提交了… 现在整理所有的Writeup,先膜一发@L3m0n师傅,大部分不会的题目思路都是看了他的Writeup才知道的…下面整理的wp中,我做了的部分会尽量加入我的理解,其他部分基本为lemon师傅的思路. https://xianzhi.aliyun.com/forum/read/2044.html 01 文件上传123456789101112131415161718192021222324252627282...

从瑞士军刀到变形金刚--XSS攻击面拓展

这篇文章的原文被我首发在阿里先知社区。 前段时间我阅读了Sucuri Security的brutelogic的一篇博客以及ppt,对xss有了一些新的理解。 在我们真实场景下遇到xss漏洞的时候,我们常常会使用1<script>alert(1)</script> 来验证站点是否存在漏洞(PoC),为了不触及敏感信息,我们往往不会深入研究XSS的危害程度,很多人都只知道Cross-Site Scripting(XSS)可以窃取cookie,模拟admin请求,但事实上在复杂环境下,我们可以使用XSS完成复杂的攻击链。 测试环境wordpress v4.8.0(默认...

pwnhub 改行做前端

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

finecms分析

在过去的一段时间里,我对FineCMS公益版进行了一波比较详尽的审计,我们找到了包括SQL注入、php代码执行、反射性XSS、任意url跳转等前台漏洞,其中部分漏洞危害巨大。 CVE-2017-11581CVE-2017-11582CVE-2017-11583CVE-2017-11584CVE-2017-11585CVE-2017-11586CVE-2017-11629 更新至v5.0.11即可修复大部分漏洞 URL 任意跳转漏洞(CVE-2017-11586)漏洞分析/finecms/dayrui/controllers/Weixin.php 204~219 sync函数123456...

xssgame writeup

前段时间无意中玩了玩xssgame,应该是最新的xss挑战了吧,最近才有空整理了一下writeup,网上很多搜到的wp说的都不清楚,这里推荐一片wp。 xssgame(需要翻墙)推荐的wp level 1第一题没什么特别的,查询输入没做任何过滤就输出了,所以直接插入标签就好了。 1http://www.xssgame.com/f/m4KKGHi2rVUN/?query=1<img src="/" onerror=alert(1)> level 2第二题其实有一点儿特别,dom xss,最关键的部分,其实就是如何让语句合理,因为在js的解析器中,js语句是按顺序解释的,如果碰...

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位的随机字符串做...

xss bot从入门到弃坑

原文被我首发在freebuff上http://www.freebuf.com/articles/web/133456.html xss在近几年的ctf形式中,越来越受到了人们的重视,但是出xss的题目最重要的可能就是xss bot的问题了,一个合格的xss bot要稳定还能避免搅屎。 下面我们就来看看一个xss bot是怎么完成的。 bot之前一般来说,对于xss bot来说,最重要的是要bot能够执行js,事情的本质是我们需要一个浏览器内核来解析js,这里我们一般会用selenium+webdriver。 而webdriver一般有3种chrome webdriver、firefox...

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

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

bctf2017 web部分wp

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

pwnhub 之小m的复仇

做题的时候思路差不多是对的,但是没想明白,讲道理是菜了,稍微整理下,这是一个比较特别的利用方式。 纵观整个站,看着很大但是有用的功能并不多,看上去唯一的输入点是注册的第三个参数,但是没意义,会经过实体编码。所以我感觉关键在于怎么找到xss点。 1、首先,classes.php这里有专门的路由,而且这个页面里有个单独存在的css,http://52.80.19.55/classes.php/,这里肯定是故意的。 2、css的引入方式是相对路径,<link rel="stylesheet" type="text/css" href="...

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

浅谈xss的后台守护问题

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

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递...

xss无声挑战赛_writeup

xss挑战平台地址源码地址 规则1、成功执行prompt(1).2、payload不需要用户交互(成功会显示you won)3、payload必须对下述浏览器有效:Chrome(最新版) - Firefox(最新版) - IE10 及以上版本(或者IE10兼容模式)4、每个级别至少给出两种浏览器的答案5、字符越少越好(作为一个渣渣只能把这一条扔到一边去…) writeuplevel 012345function escape(input) { // warm up // script should be executed without user interact...