跨站点脚本(xss)解析(二)保存型xss漏洞

保存型xss漏洞意思是用户A提交的数据没有经过过滤,就保存在web程序中(通常是数据库中),然后直接展示给其他用户。 这样如果数据中有恶意的代码,就会在用户的浏览器中直接执行。
这样的漏洞有可能存在于问答平台或者个人信息设置里等。攻击者在web程序里提出一个问题,问题中包含js语句,如果web服务器没有过滤这些代码,任何查看此问题的用户,都与在其浏览器中执行攻击者的js语句。
一般,保存型xss漏洞执行起来需要两步:①攻击者上传一些专门设计的数据(包含恶意代码),提交到网站,保存起来。②其余用户查看包含恶意代码的页面,恶意代码就在浏览器中执行。因此,保存型xss漏洞又称为二阶跨站点脚本。
与反射型xss漏洞不一样,反射型xss漏洞需要构造一个URL,诱使用户点击;保存型xss不需要,它在上传特殊代码后,只需要等待其余用户自己来点击即可。反射型xss前提用户必须是登陆状态,而保存型xss,用户已经是登陆状态了。
实施的具体步骤: 1、攻击者向服务器提交包含恶意js的数据,服务器保存。2、用户登陆系统。3、用户浏览包含恶意代码的页面。4.服务器对攻击者的js语句,做出响应。5. 恶意代码在用户的浏览器中执行。6. 用户的浏览器向攻击者发送cookie。7. 攻击者利用cookie登陆系统。
上传文件中保存xss。 如果应用程序允许用户上传和下载查看文件,就可能会存在保存型xss漏洞。上传一份html文件,其他用户查看该文件时,文件中的代码就会执行。很多WEB程序禁止上传html文件,但是我们可以将html文件伪装成jpg或者其他文件上传。
许多邮件服务器存在这样的漏洞,攻击者可以通过邮件发送这样包含恶意代码的图片,诱使用户点击,产生攻击。
本文是由youthflies发表在易踪网上的原创文章,原文地址https://www.yeetrack.com/?p=74

跨站点脚本(xss)解析(一)反射型xss漏洞

 

跨站点脚本(xss)解析(二)保存型xss漏洞

 

跨站点脚本(xss)解析(三)利用xss漏洞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

(Spamcheck Enabled)