您的位置:首页 > 数据库 > MySQL

Mysql、XSS 防御

2016-06-21 17:38 393 查看
安装服务过程出现的安全问题

***************************************************

安装 PHP+Apache+Mysql 完整过程 包括一些安全修改项
http://wenku.baidu.com/link?url=3cB0Xms3BK1vX_9RQ3EWDgAttt7Ldw4_0nsPfAQIa0RcfKAwtiyLf90SBuZJXlYztTmYAiqyooAqw8uTlAI6QVA8CZ1He924PbUNd41B2Xe
***************************************************

        http://www.jb51.net/article/47727.htm  :::  mysql_secure_installation 运行过程 ...

安装完mysql-server 会提示可以运行mysql_secure_installation。运行mysql_secure_installation会执行几个设置:

  a)为root用户设置密码

  b)删除匿名账号

  c)取消root用户远程登录

  d)删除test库和对test库的访问权限(为什么删除test数据库? ->http://www.cnblogs.com/AloneSword/archive/2013/12/04/3457243.html)

  e)刷新授权表使修改生效

***************************************************

保障MySQL数据库安全的14个最佳方法
http://tech.it168.com/a2013/1227/1579/000001579659_1.shtml

XSS  (防御  http://blog.jobbole.com/47372/)
原则1:不要在页面中插入任何不可信数据,除非这些数已经据根据下面几个原则进行了编码

    <script>…不要在这里直接插入不可信数据…</script>直接插入到SCRIPT标签里

    <!– …不要在这里直接插入不可信数据… –>

    插入到HTML注释里

 

    <div 不要在这里直接插入不可信数据=”…”></div>

    插入到HTML标签的属性名里

 

    <div name=”…不要在这里直接插入不可信数据…”></div>

    插入到HTML标签的属性值里

 

    <不要在这里直接插入不可信数据 href=”…”></a>

    作为HTML标签的名字

 

    <style>…不要在这里直接插入不可信数据…</style>

    直接插入到CSS里

原则2:在将不可信数据插入到HTML标签之间时,对这些数据进行HTML Entity编码

    &     –>     &

    <     –>     <

    >     –>     >

    ”     –>     "

    ‘     –>     '

    /     –>     /

原则3:在将不可信数据插入到HTML属性里时,对这些数据进行HTML属性编码

    HTML属性编码   &#xHH; (以&#x开头,HH则是指该字符对应的十六进制数字,分号作为结束符)

testcode    <div width=$INPUT> …content… </div>

inputcode    x onmouseover=”javascript:alert(/xss/)”

aftercode    <div width=x onmouseover=”javascript:alert(/xss/)”> …content… </div>

原则4:在将不可信数据插入到SCRIPT里时,对这些数据进行SCRIPT编码

    

    在对不可信数据做编码的时候,千万不能图方便使用反斜杠( \ )对特殊字符进行简单转义,比如将双引号 ” 转义成 \”

    ,这样做是不可靠的,因为浏览器在对页面做解析的时候,会先进行HTML解析,然后才是JavaScript解析,所以双引号很可    

能会被当做HTML字符进行HTML解析,这时双引号就可以突破代码的值部分,使得攻击者可以继续进行XSS攻击

testcode    <script>

        var message = ” $VAR “;

        </script>

inputcode    \”; alert(‘xss’);//

aftercode    <script>

        var message = ” \\”; alert(‘xss’);// “;

        </script>

原则5:在将不可信数据插入到Style属性里时,对这些数据进行CSS编码

    <style>selector { property : …插入不可信数据前,进行CSS编码…} </style><style>selector { property : ” …插    

入不可信数据前,进行CSS编码… “} </style>

    <span style=” property : …插入不可信数据前,进行CSS编码… ”> … </span>

    格式为 \HH

原则6:在将不可信数据插入到HTML URL里时,对这些数据进行URL编码

原则7:使用富文本时,使用XSS规则引擎进行编码过滤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: