本文已参与「新人创作礼」活动,一起开启掘金创作之路。
📖XSS:不用密码就可以登录你的账号,怎么做的?
Cross Site Script,中文名称为跨站脚本攻击:恶意攻击者利用web页面的漏洞,插入一些恶意代码,当用户访问页面的时候,代码就会执行,这个时候就达到了攻击的目的
1、什么是cookie?
cookie有多种意思,可以是储存在用户本地终端上的数据、英语单词、“饼干;小甜点”、兼容Arduino标准的硬件开发平台等等。
cookie (储存在用户本地终端上的数据)
Cookie是一些网站为了识别用户和跟踪会话而存储在用户本地终端中的文本数据(通常是加密的)
Cookie是保存在客户端的纯文本文件。比如txt文件
所谓的客户端就是我们自己的本地电脑。当我们使用自己的电脑通过浏览器进行访问网页的时候,服务器就会生成一个证书并返回给我的浏览器并写入我们的本地电脑。这个证书就是cookie。一般来说cookie都是服务器端写入客户端的纯文本文件。下面我们来看一下一般网站写给我们的cookie 文件如下:
Cookie文件必须由浏览器的支持,在浏览器中可以设置阻止cookie。这样服务器端就不能写入cookie 到客户端了。目前,大多数浏览器都支持cookie。如谷歌、IE、火狐等。一般来说cookie都不能阻止,因为,有时访问网站时必须使用cookie。否则网站将不能被访问。
cookie文件路径
96版本之后,cookie文件路径:C:\Users\PPPoA\AppData\Local\Google\Chrome\User Data\Default\Network
cookie特点:
- 明文
- 可修改
- 大小视浏览器而言受限
cookie用途:
- 记住登录状态
- 跟踪用户行为
2、cookie是如何被窃取的?🍉
数据交互与输出的地方。
漏洞产生的两个条件:
1.用户可以控制的输入点。
2.输入能返回到前端的页面上被浏览器当成脚本语言解析执行。
3、xss的主要类型?
- 反射型(dom):它是非持久型,参数型的跨站脚本(DOM是树形结构,利用DOM标签),这种攻击方式往往具有一次性。
攻击方式:攻击者通过电子邮件或者聊天工具等将包含 XSs 代码的恶意链接发送给目标用户。放目标用户访问该链接时,服务器就收目标的请求并进行处理,然后把带有 xss代码的数据发送给目标用户的浏览器,浏览器会解析这段带有 xss 代码的恶意脚本,就会触发 xss 漏洞。
- 存储型:它是将脚本代码写进数据库可以永久保存数据,危害最大。
攻击方式:这种攻击手法多见于论坛、博客和留言板;攻击者在发帖的过程中,将恶意脚本和正常的信息一起注入帖子的内容中。帖子被服务器存储下来,恶意脚本也就会被存放在服务器的后端数据库中,当其他的用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中解析并执行。
4、如何防止xss漏洞?🌿
1、不信任用户提交的任何内容,对所有用户提交内容进行可靠的输入验证,包括对URL、查询关键字、HTTP头、REFER、POST数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。尽量采用POST而非GET提交表单,对<、>、;、,””等字符做过滤;任何内容输出到页面之前都必须加以en-code,避免不小心把htmltag显示出来。
2、实现session标记、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行,对于用户提交信息中的img等link,检查是否有重定向回本站、不是真的图片等可疑操作。
3、cookie防盗,避免直接在cookie中泄露用户隐私,比如email、密码等等;通过使cookie和系统ip绑定来降低cookie泄露后的风险,这样攻击者可以得到的cookie没有实际价值,很难拿来直接进行重放攻击。
4、确认接收的内容被妥善地规范化,仅包含最小的、安全的tag,去掉任何对远程内容的引用,使用HTTPonly的cookie。