涨薪技术|接口安全性测试之SQL注入、XSS攻击、CRSF、防刷技术

发布时间:2026/7/21 18:48:53
涨薪技术|接口安全性测试之SQL注入、XSS攻击、CRSF、防刷技术 SQL注入是发生在应用程序数据库层的安全漏洞。简而言之是在输入的文本中注入SQL指令在设计不良的程序当中忽略了检查那么这些注入进去的指令就会被数据库服务器误认为是正常的SQL指令而执行因此遭到破坏。1DVWA环境搭建DVWA-1.0.7.zip http://IP:Port/dvwa/login.php。默认用户名 admin 默认 密码 password2SQL注入类型1. 数字型注入​​​​​​​http://www.test.com/msg/test.php?myno1 http://www.test.com/msg/test.php?myno1 or 11 http://www.test.com /msg/test.php?myno1 and 12 http://www.test.com/msg/test/php?myno1 or abcab||c2. 字符串注入​​​​​​​http://www.test.com/msg/test.php?mycharaaaa http://www.test.com/msg/test.php?mycharaaaa or 11 http://www.test.com /msg/test.php?mycharaaaa and 12 http://www.test.com/msg/test/php?mycharaaaa or abcab||c3. 终止式SQL注入SQL注入防范使用绑定变量使用存储过程检查数据类型使用安全函数ESAPI.encoder().encodeForSQLOWASP防御方案服务端输入校验和输出编码 规则一进入HTML标签 HTML编码 - amp; ESAPI.encoder().encodeForHTML 规则二进入HTML属性值 value,width,height等编码单引号和双引号为#xHH ESAPI.encoder().encodeForAttribute 规则三进入JavaScript中 ESAPI.encoder().encodeForJavaScript 规则四进入CSS中 ESAPI.encoder().encodeForCSS 规则五进入URL 对特殊字符采用%HH编码 ESAPI.encoder.encodeForURL3什么是XSSXSS跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码当用户浏览该页之时嵌入的Script代码会被执行从而达到恶意攻击用户的目的。4XSS类型1. 反射式XSS​​​​​​​反射型 XSS 一般是攻击者通过特定手法如电子邮件诱使用户去访问一个包含恶意代码的 URL当受害者点击这些专门设计的链接的时候恶意代码会直接在受害者主机上的浏览器执行。反射型XSS通常出现在网站的搜索栏、用户登录口等地方常用来窃取客户端 Cookies或进行钓鱼欺骗。2. 存储式XSS​​​​​​​也叫持久型XSS主要将XSS代码提交存储在服务器端数据库内 存文件系统等下次请求目标页面时不用再提交XSS代码。当目标 用户访问该页面获取数据时XSS代码会从服务器解析之后加载出来 返回到浏览器做正常的HTML和JS解析执行XSS攻击就发生了。存储型 XSS 一般出现在网站留言、评论、博客日志等交互处恶意脚本存储到 客户端或者服务端的数据库中。3. DOM-based 型XSS​​​​​​​基于 DOM 的 XSS 攻击是指通过恶意脚本修改页面的 DOM 结构是 纯粹发生在客户端的攻击。DOM 型 XSS 攻击中取出和执行恶意代码 由浏览器端完成属于前端 JavaScript 自身的安全漏洞。5XSS防御​​​​​​​1.HTTP响应的X-首部 X-Frame-OptionsDENY 禁止加载frameSAMEORGIN 仅允 许加载同域frame X-XSS-Protection0禁止1默认1;modeblock强制不渲 染 X-Content-Sercurity-Policy(CSP策略) 2.域分离策略 子域与父域分离减少风险 3.安全传输 HTTPS 4.安全cookie 设置cookie属性HttpOnly 5.验证码 可以减少非法操作和防止CSRF 6.慎防第三方内容 script引用的js文件 iframe引用的HTML文件 object引用的flash6什么是CRSFCSRFCross-site request forgery即跨站请求攻击。简单的说是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己以前认证过的站点并运行一些操作如发邮件发消息甚至财产操作如转账和购买商品。因为浏览器之前认证过所以被访问的站点会觉得是这是真正的用户操作而去运行。​​​​​​​这就利用了web中用户身份认证验证的一个漏洞简单的身份验证仅仅 能保证请求发自某个用户的浏览器却不能保证请求本身是用户自愿发 出的。 其实可以这么理解CSRF攻击攻击者盗用了你的身份以你的名义发送 恶意请求。CSRF能够做的事情包含以你的名义发送邮件发消息盗 取你的账号甚至于购买商品、虚拟货币转账......造成的问题包含 个人隐私泄露以及财产安全。CRSF防御检查HTTP Referer首部是否同域限制Session Cookie的生命周期使用验证码使用一次性token7接口防刷技术1. 网关控制流量洪峰对在一个时间段内出现流量异常可以拒绝请求2. 源ip 请求个数限制。对请求来源的ip 请求个数做限制对单个用户/ip限制每分钟最多提交的次数。实现方式有多种常用的方式是记录单次提交成功的单个用户/ip放到mc/redis里面然后给mc设定2分钟的缓存时间。下次该用户/ip提交数据的时候先查mc是否已过期没过期则不给提交;3. http 请求首部字段进行校验例如Host User-Agent Referer 等4. 对用户唯一身份uid进行限制和校验。例如基本的长度组合方式甚至有效性进行判断。或者uid具有一定的时效性5. 前后端协议采用二进制方式进行交互或者协议采用签名机制6. 人机验证各种验证码短信验证码、语音验证码、问题类验证码、读取式验证码、字符/图片类验证码、点触式验证码、视频验证码、行为式验证码、拖动式验证码等