防止SQL注入和XSS注入的方法总结

1、在OpenResty中添加naxsi加强防御

https://github.com/nbs-system/naxsi

安装方法

https://www.cnblogs.com/kgdxpr/p/9841456.html

2、防止SQl注入的思路和方法

    1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和 双"-"进行转换等。

    2.永远不要使用动态拼装SQL,可以使用参数化的SQL或者直接使用存储过程进行数据查询存取。

    3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

    4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

    5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装

    6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等

MySQL安全问题(防范必知)

https://www.cnblogs.com/chenqionghe/p/4873665.html

3、在绝大多数位置,加上代码级判断,多重拦截攻击

package SQL_inject

import "regexp"

// 正则过滤sql注入的方法
// 参数 : 要匹配的语句
func FilteredSQLInject(to_match_str string) bool {
    //过滤 ‘
    //ORACLE 注解 --  /**/
    //关键字过滤 update ,delete
    // 正则的字符串, 不能用 " " 因为" "里面的内容会转义
    str := `(?:')|(?:--)|(/\\*(?:.|[\\n\\r])*?\\*/)|(\b(select|update|and|or|delete|insert|trancate|char|chr|into|substr|ascii|declare|exec|count|master|into|drop|execute)\b)`
    re, err := regexp.Compile(str)
    if err != nil {
        panic(err.Error())
        return false
    }
    return re.MatchString(to_match_str)
}

4、防止xss攻击

使用这个方法 :golang web xss攻击预防https://blog.csdn.net/liangguangchuan/article/details/54617685
https://blog.csdn.net/suiban7403/article/details/80565728?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

5、两台(或多台)主机之间,采用防火墙白名单IP互通,对外只提供80端口,防止端口攻击

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.16.110.55"   accept"
#重新载入
firewall-cmd --reload

一旦出现SQL注入,一切都是零!谁的代码不按要求进行开发防注入,就处罚谁,而且要狠狠处罚,按月薪一半进行处罚,切切!

原文地址:https://www.cnblogs.com/littlehb/p/12436419.html

时间: 2024-11-08 08:00:29

防止SQL注入和XSS注入的方法总结的相关文章

StringEscapeUtils的常用使用,防止SQL注入及XSS注入

StringEscapeUtils类可以对html js xml  sql 等代码进行转义来防止SQL注入及XSS注入 添加依赖 <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> 1.html脚本 escapeHtml转义h

防止sql注入。xss攻击 方法

//防止sql注入.xss攻击    /**     * 过滤参数     * @param string $str 接受的参数     * @return string     */    public function actionFilterWords($str)    {        $farr = array(            "/<(\\)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^

SQL 注入、XSS 攻击、CSRF 攻击

SQL 注入.XSS 攻击.CSRF 攻击 SQL 注入 什么是 SQL 注入 SQL 注入,顾名思义就是通过注入 SQL 命令来进行攻击,更确切地说攻击者把 SQL 命令插入到 web 表单或请求参数的查询字符串里面提交给服务器,从而让服务器执行编写的恶意的 SQL 命令. 对于 web 开发者来说,SQL 注入已然是非常熟悉的,而且 SQL 注入已经生存了 10 多年,目前已经有很成熟的防范方法,所以目前的 web 应用都很少会存在漏洞允许进行 SQL 注入攻击. 除非是入门开发人员,在开发

SQL注入与xss

1. 什么是SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.通过递交参数构造巧妙的SQL语句,从而成功获取想要的数据. 2. SQL注入的种类 从具体而言,SQL注入可分为五大类,分别是:数字型注入.字符型注入.搜索型注入(like).in型的注入.句语连接型注入. 从应用来说,要特别注意IP.搜索.批量删除.从数据库转到数据库等地方的SQL注入. 3. 如何防止SQL注入 3.1 SQL注入产生的原因

防止SQL注入和XSS攻击Filter

nbsp;今天系统使用IBM的安全漏洞扫描工具扫描出一堆漏洞,下面的filter主要是解决防止SQL注入和XSS攻击 一个是Filter负责将请求的request包装一下. 一个是request包装器,负责过滤掉非法的字符. 将这个过滤器配置上以后,世界总算清净多了.. 代码如下: import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.serv

WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等

核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Webshell上传.命令注入.非法HTTP协议请求.非授权文件访问等.

xss注入方法及验证方法

注:本文描述的是一般情况的xss注入方法及验证方法,并无覆盖所有xss情况, 步骤1:在任一输入框中输入以下注入字符 >"'><script>alert(XSS)</script> >"'><img src="javascript:alert(123456)"> 1234<%00script>alert("123456")</script> &{alert

Java Filter过滤xss注入非法参数的方法

http://blog.csdn.NET/feng_an_qi/article/details/45666813 Java Filter过滤xss注入非法参数的方法 web.xml: [html] view plain copy <filter> <filter-name>XSSFiler</filter-name> <filter-class> com.paic.mall.web.filter.XssSecurityFilter </filter-c

SQL注入和XSS bypass waf 测试向量

1. 识别脆弱点 http://www.site.com.tr/uyg.asp?id=123'+union+selec+1,2,3-- http://www.site.com.tr/uyg.asp?id=123' http://www.site.com.tr/uyg.asp?id=123<12("/> 2. HTTP参数污染(HPP) http://www.site.com.tr/uyg.asp?id=123&id=456 http://www.site.com.tr/uyg