XSS入门到进阶
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6tcYY5nE-1604207447472)(https://raw.githubusercontent.com/Harveysn0w/MAC_note-img/main/640.jpeg)]
- XSS简介
- XSS分类
- XSS实战
- XSS Fuzzing
- XSS WAF Bypass思路
- XSS工具
- XSS修复
xss简介
OWASP TOP 10
OWASP(开放式Web应用程序安全项目)的工具、文档、论坛和全球各地分会都是开放的,对所有致力于改进应用程序安全的人士开放,其最具权威的就是“10项最严重的Web 应用程序安全风险列表” ,总结了Web应用程序最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识。
Cross Site Scripting
跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
xss漏洞通常是通过php的输出函数将javascript代码输出到html页面中,通过用户本地浏览器执行的,所以在代码审计中xss漏洞关键就是寻找参数未过滤的输出函数。
XSS分类
反射型XSS:<非持久化>
攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。DOM型XSS由于危害较小,我们将其归为反射型XSS。
存储型XSS:<持久化>
代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS非常危险,容易造成蠕虫,大量盗窃cookie(虽然还有种DOM型XSS,但是也还是包括在存储型XSS内)。
XSS实战
说明:本文需要一定的JavaScript基础和PHP基础
工具:
PHPStudy
sublime
chrome
初探XSS原理:
我在本地环境中搭建了xss.php,访问网址为:http://127.0.0.1/engineer/xss.php
反射型XSS代码是这样写的:
访问链接后发现报错,原因是我们没有对第二行的age进行变量赋值
对其赋值:http://127.0.0.1/engineer/xss.php?age=12
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lFbtVaQX-1604207447477)(https://raw.githubusercontent.com/Harveysn0w/MAC_note-img/main/640-20201006211214650.png)]
查看源代码:
接下来我们对赋值的12尝试注入一个js语句
http://127.0.0.1/engineer/xss.php?age=%3Cscript%3Ealert(%27hill%20sec%20xss%20lab%27)%3C/script%3E