XSS渗透与防御

188 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

HTTP协议

HTTP请求方式

使用最多的是GET和POST。其他的还有很多

HTTP请求格式

有请求行,请求头,请求体。
请求行里面有请求方法,请求URL,HTTP协议版本

响应格式

响应行,响应头,响应体
响应行里面有协议、版本,状态码、描述

HTTP特点

1.请求应答模式
2.灵活可扩展
3.可靠传输
4.无状态stateless

客户端的Cookie

可以减少账号密码的重复输入。
有过期的时间是保存在磁盘中的,
没有过期时间,是保存在浏览器中的。
不能跨浏览器使用。
Cookie是为了解决HTTP无状态特点带来的繁琐操作。
用处:
    记住登录状态
    跟踪用户行为

服务端的Session

服务端的Session会根据客户端的Cookie来工作。
第一次访问的时候服务端会把登录的信息保存在Session里面,
如果勾选了记住密码的话,服务端会发送一个Cookie给客户
之后的访问,客户端会发送Cookie
服务端就拿着发过来的Cookie找到Session,并从中提取信息,判断登录状态
过一段时间之后Session会被销毁,Cookie也就没有用了。

JavaScript操作Cookie

远程获取别人的Cookie
利用JavaScript
1.获取: document.cookie;
2.设置: document.cookie="username=wuya";
3.修改: JavaScript没有提供这个方法,大家可以创建一个,然后进行覆盖。
4.删除: JavaScript也没有提供这个方法,大家可以修改时间这个属性,来进行删除。

脚本注入网页: XSS

如果一个地方有漏洞,可以输入:
    <script>alert(1)</script>
看看有没有弹窗,当然现在的大多网站都有过滤。
xss有两个分类
    1.反射型XSS: 不持久
    2.存储型XSS: 持久,是放在网页里面的,伤害巨大

靶场

这边推荐一个靶场是DVWA

XSS环境搭建

下载pikachu工程

pikachu

kali里面也可以安装一个   beef-xss   就可以了。下载还是要花点时间的。
之后会有一个弹窗,我们就可以在弹窗里面操作了。

XSS检测和利用

1.测试payload查看执行效果
2.利用工具XSSER和XSStrike

xss防御方法

1.正则表达式识别处理
2.使用WAF防御