今天易思训小编与大家分享的文章是安全测试主要学习的内容(1)什么是XSS?XSS(Cross、Site、Scripting)跨站脚本攻击、Web攻击的一种,通过向web注入可执行代码(html代码或JS代码)被浏览器执行(2)实施XSS的条件是什么?需要在网页上注入恶意代码(输入框、url)恶意代码可以被浏览器成功执行(3)XSS攻击原理?用户输入的数据被视为程序,因此程序将被执行(4)XSS攻击方式?反射型XSS:当用户访问被攻击者的链接时,嵌入的脚本将由用户浏览器执行,也称为非持久型,因为它是一次性的,只会影响当次的页面访问反射型XSS场景:带有XSS脚本的链接转成的短链;【在url后跟xss脚本】,网址跳转;存储XSS:包括XSS攻击脚本在内的内容存储在服务器方面,也称为持久型,用户读取内容时会自动执行脚本存储型XSS场景:其他用户查看他人发表的评论、评论、管理者发表的公告、黑客发表的博客文章的反馈功能、投诉功能(5)XSS攻击注入点?HTML节点内容:动态生成,包括用户输入的内容,包括XSS脚本HTML属性:imgsrc、输入框的value等需要用户自己输入的场所JS代码:某JS代码需要用户传输值富文本:富文本编辑框本身保存的内容就包含html标签,用户可输入XSS脚本(6)XSS攻击的危害性?获取页面数据:通过document即可获取指定元素的值,如获取用户名称、手机号、住址等【偷取网站任意数据包括用户资料】;获得cookies:通过document.cookies获得网站现在的所有cookies,盗取现在的注册用户的注册状态,冒充被盗用户的注册网站和后台管理系统劫持前端逻辑:可以修改某个操作的反馈内容,譬如点击某个按钮本来应该只提交一个请求,但通过XSS脚本可请求地址,然后用户提交的信息发送到攻击者封装的接口;或可改变用户跳转的页面【欺骗用户,流量劫持】;发送请求:攻击者可以在用户不知不觉中发送请求收集用户信息(7)如何防御XSS攻击?浏览器具有防御性,X-XSS-Protection,主要防御反射型XSS攻击,参数出现在HTML的内容和属性中对html内容进行转义,譬如将【】转义成存入数据库时即转义,或显示时转义;html属性中的双引号和单引号【“”,转义成quto;quto;CSP1(CSP1)内容安全哪些内容可以执行第二。(1)什么是XPath注入?XPath注入攻击本质上与SQL注入攻击相似,输入恶意查询等代码串,攻击网站XPath注入攻击是利用XPath解析器的松散输入和容错特性,可以在URL、表格和其他信息上附上恶意的XPath注入查询代码,获得权限信息的访问权,变更这些信息(2)XPath注入原理?XPath注入攻击主要是通过构建特殊的输入,这些输入通常是XPath语法中的一些组合,这些输入作为参数传入网络应用程序,通过XPath查询实施入侵者想要的操作(3)如何防止XPath注入?数据提交到服务器上端,在服务端正式处理这些数据之前,验证提交数据的合法性检查提交的数据是否含有特殊字符,对特殊字符进行编码转换或更换,删除敏感字符或字符串对于系统出现的错误信息,用IE错误代码信息替换,屏蔽系统本身的错误信息参数化XPath查询,将需要构建的XPath查询表达式,以变量的形式表达,变量不是可行的脚本通过MD5、SSL等加密算法,对数据敏感信息和数据传输过程中加密,即使一些非法用户通过非法手法获取数据包,他们也会看到加密后的信息