跨站攻击

Web安全相关(二):跨站请求伪造(CSRF/XSRF)

笑着哭i 提交于 2019-12-29 11:34:54
简介   CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。 场景 某程序员大神God在某在线银行Online Bank给他的朋友Friend转账。          转账后,出于好奇,大神God查看了网站的源文件,以及捕获到转账的请求。          大神God发现,这个网站没有做防止CSRF的措施,而且他自己也有一个有一定访问量的网站,于是,他计划在自己的网站上内嵌一个隐藏的Iframe伪造请求(每10s发送一次),来等待鱼儿Fish上钩,给自己转账。   网站源码: 1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 4 <title></title> 5 </head> 6 <body> 7 <div> 8

深入解析跨站请求伪造漏洞:原理剖析

纵然是瞬间 提交于 2019-12-29 11:34:36
相关文章: 1. http://www.cnblogs.com/xiaoqian1993/p/5816085.html 深入解析跨站请求伪造漏洞:原理剖析 2 .http://blog.csdn.net/kkdelta/article/details/17503947 web安全之跨站请求伪造 原理: CSRF攻击经常利用目标站点的身份验证机制,CSRF攻击这一弱点的根源在于Web的身份验证机制虽然可以向目标站点保证一个请求来自于某个用户的浏览器,但是却无法保证该请求的确是那个用户发出的或者是经过那个用户批准的。 CSRF和XSS攻击的区别 XSS攻击需要JavaScript,而CSRF攻击不需要;XSS攻击要求站点接受恶意代码,而对于CSRF攻击来说,恶意代码位于第三方站点上。过滤用户的输入可以防止恶意代码注入到某个站点,但是它无阻止法恶意代码在第三方站点上运行。由于恶意代码可以在第三方站点上运行,所以防御XSS攻击的措施无法保护站点不受CSRF攻击的危害。如果站点具有XSS攻击漏洞,那么它也有CSRF攻击漏洞。但是,即使站点针对XSS攻击采取了全面保护,却仍然面临CSRF攻击的威胁。 解决: (1)拒绝恶意请求。过滤器中添加如下。验证Referer请求来源: 1 //HTTP 头设置 Referer过滤 2 String referer = request2.getHeader

XSS(跨站脚本攻击)及部分解决方案

浪子不回头ぞ 提交于 2019-12-26 17:21:46
最近做的部门内部用的一个小项目要上线,上线前安全测试测出了存储型XSS漏洞,自己也通过这个机会学习了一下,在此记录 1、什么是XSS XSS的中文含义是跨站脚本攻击,Cross Site Scripting,缩写为CSS,但容易与层叠样式表的缩写混淆,所以有人将其缩写为XSS 2、XSS原理 html是超文本标记语言,通过一些字符特殊对待来区分文本和标记,例如:<被看作html标签的开始,>被看作html标签的结束,那么<title>与</title>之间的内容就会被看作是标题。如果动态页面中插入的内容包含这些特殊字符(如:<等),用户浏览器就会将其误认为是html标签,如果被认为是html标签的内容中引入了一些js脚本,那么这些脚本就会在用户浏览器中执行,所以当这些特殊字符不能被动态界面检查或识别的时候,就会出现XSS漏洞。 3、XSS危害 1、窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。 2、窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作。 3、网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马。 4、发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息

信息安全常见漏洞类型汇总

℡╲_俬逩灬. 提交于 2019-12-17 04:29:54
一、SQL 注入漏洞 SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,被广泛用 于非法获取网站控制权, 是发生在应用程序的数据库层上的安全漏洞。在设计程序, 忽略了对输入字符串中夹带的SQL 指令的检查,被数据库误认为是正常的SQL 指 令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一 步导致网站被嵌入恶意代码、被植入后门程序等危害。 通常情况下, SQL 注入的位置包括: (1)表单提交,主要是POST 请求,也包括GET 请求; (2)URL 参数提交,主要为GET 请求参数; (3)Cookie 参数提交; (4)HTTP 请求头部的一些可修改的值,比如Referer 、User_Agent 等; (5)一些边缘的输入点,比如.mp3 文件的一些文件信息等。 SQL 注入的危害不仅体现在数据库层面上, 还有可能危及承载数据库的操 作系统;如果SQL 注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但 不局限于: (1)数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。作为数据 的存储中心,数据库里往往保存着各类的隐私信息, SQL 注入攻击能导致这些隐私 信息透明于攻击者。 (2)网页篡改:通过操作数据库对特定网页进行篡改。 (3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链 接,进行挂马攻击。

CSRF 跨站

南楼画角 提交于 2019-12-06 15:07:58
目录 CSRF 跨站请求伪造 解决跨站伪造问题: csrf 相关的装饰器: csrf.js文件: CSRF 跨站请求伪造 CSRF全称为Cross-site request forgery,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。   CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。 CsrfViewMiddleware的作用: 在render返回页面的时候,在页面中塞了一个隐藏的input标签;当你提交POST数据的时候,它帮你做校验,如果校验不通过就拒绝这次请求 跨站请求伪造csrf : 1.网站的搭建 : 写一个跟正规网站一模一样的页面;用户输入用户名 密码 对 方账户 转账金额提交,请求确实是朝银行的接口发送的 钱也扣了 但是对方账户变了 变成了钓鱼网站自己提前设置好的账户 2,钓鱼网站功能的实现 : 填写form表单的时候 让用户填写的对方账户input并没有name属性,是你自己在内部偷偷隐藏了一个具有name属性的input框,并且value值是你自己的账户 然后将该标签隐藏了 解决跨站伪造问题: 解决跨站问题 : 1

跨站脚本攻击XSS

青春壹個敷衍的年華 提交于 2019-12-06 06:54:47
XSS简介 跨站脚本攻击,英文全称是Cross Site Scrit,本来缩写是CSS,但是为了和层叠样式表(Cascading Style Sheet, CSS)有所区别,所以在安全领域叫做"XSS". XSS攻击,通常是指黑客通过"HTML注入"篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击.在一开始,这种攻击的演示案例是跨域的,所以叫做"跨站脚本".但是发展到今天,是否跨域已经不再重要. 那么什么是XSS呢?看看下面的例子: 假设一个页面把用户输入参数直接输出到页面上: <?php $input = $_GET["param"]; echo "<div>".$input."</div>"; ?> 在正常情况下,用户向param提交的数据会展示到页面中,比如提交: http://www.a.com/test.php?param=这是一个测试! 但是如果提交一段HTML代码: http://www.a.com/test.php?param=<script>alert(/xss/)</script> 会发现,alert(/xss/)在当前页面执行了. 用户输入的Script脚本已经被写入页面中,而这显然是开发者所不希望看到的.上面这个例子,就是XSS的第一种类型: 反射型XSS . XSS根据效果的不同可以分成如下几类. 反射型XSS

django中csrftoken跨站请求伪造的几种方式

谁都会走 提交于 2019-12-06 05:28:31
1.介绍 我们之前从前端给后端发送数据的时候,一直都是把setting中中间件里的的csrftoken这条给注释掉,其实这个主要起了一个对保护作用,以免恶意性数据的攻击。但是这样直接注释掉并不是理智型的选择,这里我们介绍以下几种方式来解决这个问题。 csrf原理:先发送get请求,在用户浏览器上藏一段随机字符串,发送post请求时,浏览器自动携带该字符串来进行识别 2.方式一 在前端中添加{% csrf_token %},前端ajax发送的data数据中加上: csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val() 3.方式二 在ajax中添加X-CSRFToken的请求头,必须从cookie中取csrftoken的值 $('#login').click(function () { $.ajax( { url:{% url 'login' %}, type: 'post', headers:{ "X-CSRFToken":$.cookie('csrftoken') }, data: { user: $('[name="user"]').val(), pwd: $('[name="pwd"]').val() }, success: function (data) { data = JSON.parse(data);

跨站跟踪攻击(CST/XST)

廉价感情. 提交于 2019-12-06 03:17:59
XSS与httponly 正常情况下,客户端脚本(如JS脚本)是可以通过document.cookie函数获得,这样如果有XSS跨站漏洞,cookie很容易被盗取。浏览器有一个安全策略,通过设置cookie的httponly属性,这样客户端脚本就不能通过document.cookie访问该cookie,即使有XSS漏洞,也不能盗取用户cookie。这个时候就可以利用HTTP TRACE方法来获取到用户的cookie信息。 TRACE方法 TRACE作用:客户端发起一个请求时,这个请求可能要穿过防火墙、代理、网关或其他一些应用程序。每个中间节点都可能会修改原始的 HTTP 请求。TRACE 方法允许客户端在 最终将请求发送给服务器时,看看它变成了什么样子。 下面就来看下允许TRACE方法的服务器,TRACE方法是如何工作的。 请求包: TRACE http://10.20.40.95/bWAPP/bWAPP/xss_get.php?firstname=aaaa&lastname=aaa&form=submit HTTP/1.1 Host: 10.20.40.95 Connection: keep-alive Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)

Web 安全渗透测试常用工具

▼魔方 西西 提交于 2019-12-04 08:37:31
漏洞扫描工具:openvas,nessus 压力测试工具:LOIC低轨道离子炮,Siege DNS伪造:DNSCheF, 端口扫描工具:nmap, 抓包工具:wireshark SQL 注入工具:sql-injection,SQLMap,Pangolin,Bsql hacker,Havij,The Mole web目录探测:DirBuster,wwwscan,御剑后台扫描,skipfish, 自动化web应用程序安全从测试工具:AWVS即wvs,AppScan,webshag,websecurify,vega css跨站脚本:Burp Suite,xss shell,XSS Platform, CSRF跨站点请求伪造; CSRFTEST 暴力破解:Hydra,DirBuster ARP欺骗攻击:Ettercap,NetFuke 拒绝服务攻击:hulk,Scapy 漏洞利用工具:号称可以黑出屎的工具Metasploit,w3af 密码破解工具:Johnny,hashcat,oclHashcat,chntpw 中间人攻击:Driftnet web应用代理:ProxyStrike 来源: oschina 链接: https://my.oschina.net/u/2460176/blog/596164

XSS攻击(跨站脚本攻击)

岁酱吖の 提交于 2019-12-03 07:41:57
一、什么是XSS?怎么发生的?   XSS(Cross site scripting)全称为 跨站脚本攻击 ,是web程序中最常见的漏洞。指攻击者在网页中嵌入客户端脚本(例如Javascript),当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。比如获取用户的cookie,导航到恶意网站,携带木马病毒等。    二、XXS漏洞的分类   XXS漏洞按照攻击利用手法的不同,有以下三种类型:    类型A,本地利用漏洞: 这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示:     Alice给Bob发送了一个恶意构造了web的URL。     Bob点击并查看了这个URL。     恶意页面中的Javascript打开了一个具有漏洞的HTML页面并将其安装在Bob电脑上。     具有漏洞的HTML页面包含了在Bob电脑本地域执行的Javascript。     Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令。    类型B,反射式漏洞: 这种漏洞和类型A有些类似,不同的是web客户端使用server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下:;     Alice经常浏览某个网站,此网站为Bob所拥有