XSS跨站脚本攻击
XSS跨站脚本攻击
XSS原名cross site script,是为了和CSS混淆,所有简称为XSS。
跨站脚本攻击是攻击者利用web应用输入框对用户提交的数据没有进行转义处理或没有进行严格过滤而添加一些代码,使其他用户访问都会执行相应的代码。
XSS攻击的危害
盗取用户账号资料,控制企业数据,盗取商业资料,非法转账,强制发送电子邮件,网站挂马,控制受害者的机器等。
技术解析
XSS分为反射型XSS和存贮型XSS
反射性XSS称为非持久型跨站脚本攻击,它是攻击者将原始正常网页低URL进行修改,发给受害者,当受害者点击的话就会中招。这种攻击条件苛刻,必须要有受害者点击对应的URL,不能够持久作战,例如:
下面id是一个输入框的变量 https://www.xxx.com/long.php?id=1 #正常URL https://www.xxx.com/long.php?id=<script>alert(‘foolish!’)</script> #只用用户进行点击就会让服务器进行解析
存贮型XSS称为持久型跨站脚本攻击,它是将 <script>alert(‘foolish!’)</script> 这段代码存入web服务器的数据库中,这是数据库中的id字段中有这段代码,当用户进入当前web网页时就会直接中招。这个攻击危害较大,所有点击插入这段代码的页面都会中招,因为代码存储在web数据库中。
主要原因:服务器过于信任用户提交的数据。
解决:对前端所提交的数据进行严格的转义或者过滤,对特殊字符进行过滤,例如特殊标签<script>、、<、<、>、/等。
例子
攻击者搭建一个可以接收数据的web站点,将可以获取受害者cookie值的代码放进到漏洞网站发给用户。
BeEF软件可以进行自动化攻击。
博主的每篇文章是个人学习笔记,有任何问题联系进行删除