先了解一下xss
简单来说XSS,也叫跨站漏洞,攻击者对网站代码进行攻击检测,对前端输入的地方注入了XSS攻击代码,并写入到网站中,使用户访问该网站的时候,自动加载恶意的JS代码并执行,通过XSS跨站漏洞可以获取网站用户的cookies以及seeion值,来窃取用户的账号密码等等的攻击行为
寻找xss漏洞
XSS漏洞经常出现在需要用户输入的地方,在寻找XSS漏洞时,先随便输入东西观察页面的响应方式,然后查看页面源码,然后构造合适的alert()弹窗来发现,同样也可以使用prompt(),confirm()。
xss分类
存储型XSS:存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie
反射型XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面
DOM型XSS:不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS是通过url传入参数去控制触发的,其实也属于反射型XSS。
在phpstudy中搭建xss-labs
level-1
观察url地址会发现?name=test
这里是向服务器提交了一个值为test
的name
参数
并且页面不仅回显name参数的值,而且显示了name参数的值的长度。
查看页面源代码
发现<h2 align=center>欢迎用户test</h2>
name参数的值在h2标签中,直接在name参数中使用<script>alert('xss')</script>