Archive For 六月, 2020

3 articles

使用无字母的JavaScript语句绕过XSS限制

一、前言

在一次XSS测试中,往可控的参数中输入XSS Payload,发现目标服务把所有字母都转成了大写,假如我输入alert(1),会被转成ALERT(1),除此之外并没有其他限制,这时我了解到JavaScript中可以执行无字母的语句,从而可以绕过这种限制来执行XSS Payload

二、JS基础

先执行两段JS代码看下

image-20200610213701179

两段js代码都输出了字符串”nb”,下面来分析下原因.

JS运算符的优先级

下面的表将所有运算符按照优先级的不同从高(20)到低(1)排列。

优先级
运算类型
关[......]

Read more

Java 8u20反序列化漏洞分析

一、前言

JDK7u21中反序列化漏洞修补方式是在AnnotationInvocationHandler类对type属性做了校验,原来的payload就会执行失败,在8u20中使用BeanContextSupport类对这个修补方式进行了绕过。

二、Java序列化过程及数据分析

在8u20的POC中需要直接操作序列化文件结构,需要对Java序列化数据写入过程、数据结构和数据格式有所了解。

先看一段代码

运行A类main方法会生成a.ser文件,[......]

Read more

从CVE-2018-4441看jsc的OOB利用

作者最近研究了safari浏览器JavascriptCore引擎的一个OOB漏洞CVE-2018-4441,虽然这是一个比较老的漏洞,但是研究这个漏洞还是能学到不少东西。这里介绍了jsc环境搭建的方法和jsc一些基本调试技巧,详细分析了CVE-2018-4441的漏洞成因和lokihardt堆喷修改数组长度构成OOB的方法,希望读者读完能有所收获。

环境搭建

下载源码

​ 下载源码使用

​ 如下载的源码较旧需更新源码到最新日期则使用

​ 切换[......]

Read more