XSS入门XSS跨站脚本攻击指利用网站开发时留下的漏洞注入恶意指令代码到网页使用户加载并执行恶意制造的网页程序。这些恶意的网页程序通常是js也可以包含javaHTML等。成功后可能得到更高的权限私密的网页内容会话和cookie等。XSS的类型1.反射型XSS用户在请求某个url时会携带一部分数据。当客户端进行访问某条链接时攻击者可以将恶意代码注入到url如果服务器未对url所携带的参数做过滤和判断直接返回响应页面xss攻击代码则会被一起传输到用户的浏览器就触发反射型xss例当用户被诱导点开某个注入xss漏洞的代码信息就会被窃取2.存储型XSS与反射型xss都是在后端对用户输入进行过滤所导致的漏洞。但存储型XSS是将用户输入保存在数据库或者其他的服务器存储中可显示到HTML页面中当用户再访问这个页面时就会触发并执行xss代码窃取用户的敏感信息?php$name$_GET[name]??;if($name!)file_put_contents(data.txt,$name);$namefile_get_contents(data.txt);echohello$name;以上用户输入被保存每次访问此页面都会读取之前输入过的name即造成XSS3.DOM XSS该漏洞发生于前端前端将用户输入直接写入到了HTML中它的攻击代码不需要服务器解析响应触发xss依靠浏览器的DOM解析客户端的js具有操作DOM的功能可以提取用户的输入然后直接插入到DOM中这就造成了XSS。其payloadpayload就是在程序中 起关键作用的代码与反射/存储型xss差不多如namescriptalert(xss)/script可用于执行XSS的标签可在这个网站中查看可执行以下这些标签的属性https://portswigger.net/web-security/cross-site-scripting/cheat-sheet1最原始的就是在标签中写js代码就会执行​ 几乎所有标签on事件来执行js代码如h1onmousemovealert(1)hello/h1即鼠标移动的时候此代码就会执行​ img标签的onerror属性img srcx onerroralert(1)​ 还有iframe srcjavascript:alert(1) /iframe​svg onloadalert(1)(2)利用HTML5特性的XSS可参考https://www.html(3)js伪协议——除过常见的httphttps这些协议外有些a标签的href属性值为javascriptvoid0其中的“javascript”就是js伪协议,由js引擎来执行如click here