跨站攻击

[安全相关]XSS跨站脚本攻击

我们两清 提交于 2020-01-24 15:23:33
xss定义:   xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。   XSS 全称“跨站脚本”,是注入攻击的一种。其特点是不对服务器端造成任何伤害,而是通过一些正常的站内交互途径,例如发布评论,提交含有 JavaScript 的内容文本。这时服务器端如果没有过滤或转义掉这些脚本,作为内容发布到了页面上,其他用户访问这个页面的时候就会运行这些脚本。 xss防范:   最简单防范xss的方法就是过滤用户输入的所有html标签,真正麻烦的是,在一些场合我们要允许用户输入 HTML,又要过滤其中的脚本。Tidy 等 HTML 清理库可以帮忙,但前提是我们小心地使用。仅仅粗暴地去掉 script 标签是没有用的,任何一个合法 HTML 标签都可以添加 onclick 一类的事件属性来执行 JavaScript。对于复杂的情况,我个人更倾向于使用简单的方法处理,简单的方法就是白名单重新整理。用户输入的 HTML 可能拥有很复杂的结构,但我们并不将这些数据直接存入数据库,而是使用 HTML 解析库遍历节点,获取其中数据(之所以不使用 XML 解析库是因为 HTML 要求有较强的容错性)。然后根据用户原有的标签属性

如何快速发现XSS跨站攻击漏洞

两盒软妹~` 提交于 2020-01-24 06:45:26
教你如何快速发现XSS跨站攻击漏洞 什么是XSS跨站攻击? 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意的Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。(以上内容来自百度百科) 其实简单理解,就是我们的程序,在参数传入时,没有对输入字符串中特殊字符或字符串做合理的检查和处理,如果参数传入的内容中,包含了恶意代码,那么我们的程序就会把这段恶意代码在浏览器中执行。那么,XSS跨站攻击会给我们带来哪些危害呢?下面的这些内容,或许你并不陌生: 1、钓鱼欺骗 2、网站挂马 3、身份盗用 4、盗取网站用户信息 5、垃圾信息发送 6、劫持用户Web行为 7、XSS蠕虫 在哪些地方需要进行XSS跨站攻击的测试验证? 可传参的URL中 可输入内容的表单 怎么快速判断是否有XSS跨站攻击注入点? 即在表单填写框中直接注入攻击脚本(一般都是JS脚本),如在表单中输入JS内容后,正常预期程序是不应该让脚本执行的,如果程序没有对输入内容做有效处理,则提交后程序会执行我们输入的JS代码。 XSS跨站攻击测试示例 下面测试步骤举例以可视化当前暂未被修复的一个XSS跨站攻击点为例

跨站点脚本攻击的防范(ZT)

你。 提交于 2020-01-23 13:11:41
转帖自朋友的Blog: http://www.zhangsichu.com/blogview.asp?Content_Id=104 跨站点脚本攻击在Web开发中是个非常敏感的安全问题。 跨站点脚本攻击(XSS)FAQ 这篇文章 http://tech.idv2.com/2006/08/30/xss-faq/ 讲述了跨站点脚本攻击的常见情况。 下面摘引自原文部分章节: ------------------------------------------------------------------------ 什么是跨站脚本攻击? 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含 HTML和javascript的帖子。假设用户甲发表了一篇包含恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的 session信息。有关攻击方法的详细情况将在下面阐述。 XSS和CSS是什么意思?

Django-CSRF跨站请求伪造防护

不打扰是莪最后的温柔 提交于 2020-01-23 02:17:23
前言 CSRF全称Cross-site request forgery(跨站请求伪造),是一种网络的攻击方式,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF。 攻击原理 1、用户访问正常的网站A,浏览器就会保存网站A的cookies。 2、用户在访问恶意网站B, 网站B上有某个隐藏的链接会自动请求网站A的链接地址,例如表单提交,传指定的参数。 3、恶意网站B的自动化请求,执行就是在用户A的同一个浏览器上,因此在访问网站A的时候,浏览器会自动带上网站A的cookies。 4、所以网站A在接收到请求之后,可判断当前用户登录状态,所以根据用户的权限做具体的操作逻辑。 防范措施 1、在指定表单或者请求头的里面添加一个随机值做为参数。 2、在响应的cookie里面也设置该随机值。 3、用户正常提交表单的时候会默认带上表单中的随机值,浏览器会自动带上cookie里面的随机值,那么服务器下次接受到请求之后就可以取出两个值进行校验。 4、对于网站B来说网站B在提交表单的时候不知道该随机值是什么,所以就形成不了攻击。 Django中CSRF中间件 django在创建项目的时候,默认就会有添加中间进行CSRF的保护,在MIDDLEWARE可以看到加载了 django.middleware.csrf.CsrfViewMiddleware

20170813-CSRF 跨站请求伪造

孤街浪徒 提交于 2020-01-19 20:34:21
CSRF CSRF是Cross Site Request Forgery的缩写,翻译过来就是跨站请求伪造。 跨站:顾名思义,就是从一个网站到另一个网站。 请求:即HTTP请求。 伪造:在这里可以理解为仿造、伪装。 综合起来的意思就是:从一个网站A中发起一个到网站B的请求,而这个请求是经过了伪装的,伪装操作达到的目的就是让请求看起来像是从网站B中发起的,也就是说,让B网站所在的服务器端误以为该请求是从自己网站发起的,而不是从A网站发起的。 CSRF 攻击是黑客借助受害者的 cookie 骗取服务器的信任,但是黑客并不能拿到 cookie,也看不到 cookie 的内容。另外,对于服务器返回的结果,由于浏览器同源策略的限制,黑客也无法进行解析。因此,黑客无法从返回的结果中得到任何东西,他所能做的就是给服务器发送请求,以执行请求中所描述的命令,在服务器端直接改变数据的值,而非窃取服务器中的数据。所以,我们要保护的对象是那些可以直接产生数据改变的服务,而对于读取数据的服务,则不需要进行 CSRF 的保护。 原理 图片来源: CSRF攻击原理以及nodejs的实现和防御  从上图可以看出,要伪装成从A网站发起请求,必须依次完成两个步骤:   1.登录受信任网站A,并在本地生成Cookie。   2.在不登出A的情况下,访问危险网站B。    之所以要伪装成从A网站发起

20170812-XSS跨站脚本攻击

白昼怎懂夜的黑 提交于 2020-01-19 20:33:11
XSS跨站脚本攻击: XSS 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets,CSS)缩写混淆, 所以将跨站脚本攻击缩写为XSS。 XSS是攻击者在web页面插入恶意的代码。当用户浏览该页面时,代码执行,从而实现攻击目的。对受害用户可能采取Cookie资料窃取、会话劫持、钓鱼欺骗等各种攻击 XSS跨站脚本攻击分为:反射型(非持久型XSS)和持久型 反射型XSS: 用户点击攻击链接,服务器解析响应,在返回的响应内容中出现攻击者的XSS代码,被浏览器执行。这样,XSS攻击脚本被web server反射回来给浏览器执行,所以称为反射型XSS 正常链接,点击后会在页面显示hello 用户名 http://xxx.com?username=yang 页面输出 hello yang 如果我把上面的url变成这样,同时服务器没有做过滤 http://xxx.com?username=<script>alert("xss")</script> 页面会出现弹框,显示xss;可能会在上面的脚本中加入其它更加复杂的脚本 持久型XSS: 攻击者在相关页面输入恶意的脚本数据后,恶意脚本会被存放到到服务器的数据库。用户浏览页面时,会从数据库中查询数据,数据在页面的显示导致该恶意脚本会在页面中执行,浏览此页面的用户就可能受到攻击

常见的web漏洞及其防范

烂漫一生 提交于 2020-01-19 08:05:30
原文地址:http://blog.csdn.net/u013777676/article/details/52124298 一、SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。 通常情况下,SQL注入的位置包括 : (1)表单提交,主要是POST请求,也包括GET请求; (2)URL参数提交,主要为GET请求参数; (3)Cookie参数提交; (4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等; (5)一些边缘的输入点,比如.mp3文件的一些文件信息等。 常见的防范方法 (1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。 (2)对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换。 (3)确认每种数据的类型,比如数字型的数据就必须是数字

跨站脚本攻击

冷暖自知 提交于 2020-01-18 04:26:26
背景 现在的网站包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成 XSS)的威胁,而静态站点则完全不受其影响。这篇FAQ将使你能更深入地理解这种威胁,并给出如何检测并防止的建议。 简介 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含HTML和javascript的帖子。假设用户甲发表了一篇包含恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的session信息。有关攻击方法的详细情况将在下面阐述。 XSS和CSS 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆

xss跨站脚本测试

流过昼夜 提交于 2020-01-15 00:54:24
测试的时候会涉及到xss测试,下面简要整理下xss的知识 xss跨站脚本特点就是能注入恶意的HTML/JS代码到用户浏览器,劫持用户会话,如果确认存在漏洞,会随着注入的内容不同而产生危害比如:窃取cookie,网页挂马,恶意操作,跨站蠕虫等等 分类: 反射型:非持久,一般为一个url,需要用户单击,在url中参数传入 持久型:常存在于评论等交互中,常见于<textarea>这种标签,可用于挂马钓鱼渗透等 可见,为了防止xss,字符过滤可以有效的较少被攻击的危害,但是xss攻击不止这么简单, 它还可以绕过服务端的xss过滤!!!待续 ps:常用的xss攻击语句列表 https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet 英文 http://drops.wooyun.org/tips/1955 中文 如果可以发现最基础的xss可以执行,那么就可以注入其他有害的操作或者获取信息 例如一些javacript事件:onerror,onfocus,onclick,ontimeout。。。 http://wenku.baidu.com/link?url=q9-QLRlKm788Hdn7F0-Fy2Ujqg8N995-DLk4cS_cXdds1h9lQIvtGf78KbUM55GtKiS6qTwd-

XSS跨站脚本初识

十年热恋 提交于 2020-01-03 02:18:00
跨网站指令码 ( Cross-site scripting ,通常简称为 XSS )是一种网站应用程式的安全漏洞攻击,是 代码注入 的一种。 它允许恶意使用者将程式码注入到网页上,其他使用者在观看网页时就会受到影响。 这类攻击通常包含了 HTML 以及使用者端 脚本语言 。 XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。 这些恶意网页程序通常是 JavaScript ,但实际上也可以包括 Java , VBScript , ActiveX , Flash 或者甚至是普通的 HTML 。 攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、 会话 和 cookie 等各种内容。 -- Wiki 1.基本原理 1.xss攻击示意图 引用自XSS跨站脚本攻击剖析与防御 使用一段php代码示例 1 <html> 2 <head> 3 <title>XSS test</title> 4 </head> 5 <body> 6 <form action = "xss.php" method = "POST"> 7 Please input your name:<br> 8 <input type = "text" name = "name" value = ""></input> 9