本篇文章为大家展示了怎样理解XSS,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联是一家专业提供张湾企业网站建设,专注与成都网站建设、成都网站制作、H5建站、小程序制作等业务。10年已为张湾众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
XSS跨站脚本攻击(Cross Site Scripting),是将Java script代码插入web页面中,之后当用户浏览页面时, 会执行嵌套在web页面里面的Java script代码,从而达到攻击用户的目的。为了跟HTML里面的层叠样式表(CSS ,Cascading Style Sheets)作区分,所以叫作XSS.
攻击者将含有恶意JavaScript代码的URL发给用户==>用户打开URL==>web应用程序对攻击者的JavaScript做出回应==>用户浏览器向攻击者发送会话信息==>攻击者使用会话信息跟web服务器进行交互。
攻击步骤:
(1)用户正常登录web应用程序,登录之后获得一个cookie
(2)攻击者将含有攻击代码的URL发送给用户
(3)用户打开URL
(4)Web服务器执行该URL中用户的请求,同时执行该URL中所包含的的JavaScript代码
(5)攻击者可以使用的攻击代码的的可以将用户的cookie信息发送到cookie_save.php
(6)攻击者获得用户的cookie之后可以将这些信息进行登录.
危害:可以给对方浏览器构造一个恶意弹窗,可以在XSS里面加入恶意代码或者恶意链接等
打个比喻alert(“XSS”),如果换成inframescr=http://127.0.0.1.exe),如果http://127.0.0.1.exe是一个木马之后浏览这个页面的网站管理员跟用户都会感染木马
web执行恶意代码构造URL==>用户访问这个网站==>在这浏览器中执行恶意JavaScript代码==>将cookie等重要参数返回到攻击者
危害:可以获取用户的信息,cookie等。
在本文XSS实验中,我们用弹窗作为现象。为什么我们在这里用弹窗呢,因为弹窗最明显
我们打开DVWA中的XSS(Reflection)
之后我们在what’s your name?里面任意输入一个东西就会返回hello,下面我们以1为例。
我们也可以在这输入XSS脚本我们这拿alert(2)举例子
我们可以构造一个弹窗,我们用burp抓一下包丢到扫描器里面扫一下得到了以下结果。
下面,我们来看一下这个结果的报告
漏洞详情(Issue detail):
name请求参数的值作为标签之间的纯文本复制到HTML文档中.它的payload(arz4valert(1)pxrmb)中已经将name参数中提交.由于该参数在浏览器中未被过滤,所以可以将Java script注入到这个应用响应中
DVWA中级别的方法是利用嵌套进绕过
。在中级别xss会过滤标签,但是不会进行反复过滤。
我们看一下中级的代码:
', '', $_GET[ 'name' ] ); $name = str_replace( '。在beef里面出现如下界面。这个之后我们双击127.0.0.1之后进入这个页面
之后我们点击Commands(命令)之后在这里面输入cookie
之后我们回车,并点击get cookie
之后点击Execute(执行)。之后就会弹回来cookie去掉输入中的引号
问题背景(Issue background):
当一个数据请求以不安全的方式返回到应用程序响应中的时候,我们就可以判断这是个发射去掉输入中的引号
型XSS.我们可以构建一个请求,如果由另外一个用户触发,我们写的恶意Java script代码就可以在对方浏览器运行.我们写的Java script代码可以进行各种操作,例如窃取cookie用受害人的身份登录,进行操作.
XSS的传播方式
1.可以通过邮件或者某些其他的通讯方式,给受害者发送一个含有恶意URL的链接
2.在一些热门网站的评论区进行恶意Javascript代码插入
3.可以创建一个网站之后让所有人都可见,以便于对用户发起XSS攻击(GET或者POST请求)进行跨域
XSS的影响:
XSS受影响程度取决于受攻击的人,其包含的数据和功能会不会影响同一个域内的其他人或者其他应用程序.如果是在某一个不重要的位置,例如某个不敏感而且没有身份验证或者控制访问的地方,XSS几乎没有什么用.如果是在关键的地方,例如cookie里面,这样就会威胁到其他的应用程序所以被判定为危险.同样如果XSS被用到钓鱼上面,那么XSS就会增加用户的信任,同时安全软件也不会警告.从而使用木马进行进一步攻击。
防御策略:
1.在输入的地方进行严格的验证,例如个人信息的长度,电子邮箱的正则表达式的匹配.也就是我们俗称的白名单.
2.把用户输入任何位置的信息进行HTML编码,将用户输入所有<>和””进行替换.在应用程序中限制用户使用HTML标签跟熟悉.
4.限制输入字符
5.去掉输入中的引号
6.对输入的URL进行解码,之后进行编码
7.将重要的cookie标记为http only
攻击姿势
窃取cookie的XSS代码:
<% Thisfile=Server.MapPath(“cookie.txt”) Msg=Request(“msg”) Setfs=server.CreateObject(“scripting.filesystemobject”) Setthisfile=fs.OpenTextFile(thsfile,8True,0) thisfile.WriteLine(“======cookie:”&msg&”=====byXSS”) Thisfile.close Setfs=nothing %>上述内容就是怎样理解XSS,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
文章名称:怎样理解XSS
文章来源:http://www.cdkjz.cn/article/gddpos.html