加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何解决SQL注入的安全难题

发布时间:2022-02-08 13:10:04 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要为大家展示了如何解决SQL注入的安全问题,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下如何解决SQL注入的安全问题这篇文章吧。 黑名单过滤技术 1、过滤sql关键字段 常见的关键字:and、or、union
       这篇文章主要为大家展示了“如何解决SQL注入的安全问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决SQL注入的安全问题”这篇文章吧。
 
黑名单过滤技术
 
1、过滤sql关键字段
常见的关键字:and、or、union all select、引号、空格等等过滤
还有一些类似的技术不是过滤而是通过转义函数或者剥离非法关键字
 
绕过方法:
 
1、大小写变形(id=-1 UniOn sEleCt 1,2,3……)
2、编码:hex码、urlencode
3、注释 ‘/or/'
4、过滤替换 (and–&&、or–||)
5、截断
二、文件上传漏洞
 
我们在上网时经常会使用文件上传的功能,比如上传一个头像图片,上传一个文件,上传一个视频等等,我都知道这是一个正常的功能,但是大家有没有想过文件上传后,服务器是怎么处理或者解析这些文件的呢,如果服务器在处理这些上传文件的时候做的不够安全,就会导致安全事件的发生,比如: 上传web脚本文件让服务器执行
 
(1)上传木马病毒文件诱导用户或者管理员下载
(2)上传钓鱼文件
(3)上传欺诈文件
文件上传漏洞核心
 
要使得文件上传攻击能够成功,一般需要满足两个要素:
 
(1)包含webshell文件能够成功被上传到服务器上
(2) 该文件能够被服务器解析或者我们能访问到该上传文件
 
客户端检测绕过(javascript 检测)
 
这类检测通常在上传页面里含有专门检测文件上传的 javascript 代码最常见的就是检测扩展名是否合法,这类绕过很简单。
做法:制作webshell文件(比如shell.php)—>修改为合法扩展名(shell.png)—>burp拦截改为(shell.php) —>上传
 
服务端检测绕过(MIME 类型检测)
 
该检测是在服务器上进行,主要检查的是content-type类型值(白名单或者黑名单)。当然这个绕过也简单。
做法:制作webshell文件(比如shell.php,Content-Type: text/plain)—>burp拦截改为(sontent-Type: image/gif) —>上传
 
服务器检测绕过(目录路径检测)
 
该检测是在服务器上进行,一般就检测路径是否合法,但稍微特殊一点的都没有防御。 比如,shell.php.[].png []、123.php0x00.png其中0x00是php、c语言的截断符,就是说服务器在读文件的时候读到shell.php碰到【】就截止了当做shell.php执行了。 类似还有post提交文件shell.php%00.png
注:绕过后台检测,就是给他想要的文件后缀名,然后截断真实的后缀
 
服务端检测绕过(文件扩展名检测)
 
顾名思义就是检查文件扩展名,一般通过白黑名单防御。
 
1、黑名单 比如扩展名不能包含 html、php、php3,php4,asp、exe、bat、jsp +文件名大小写绕过用像 AsP,pHp 之类的文件名绕过黑名单检测
 
(1)名单列表绕过用黑名单里没有的名单进行攻击,比如黑名单里没有 asa 或 cer 之类
(2)特殊文件名绕过 比如发送的 http 包里把文件名改成 test.asp. 或 test.asp_(下划线为空格),这种命名方式在 windows 系统里是不被允许的,所以需要在 burp 之类里进行修改,然后绕过验证后,会被 windows 系统自动去掉后面的点和空格,但要注意 Unix/Linux 系统没有这个特性。
(3)htaccess 文件攻击 配合名单列表绕过,上传一个自定义的.htaccess,就可以轻松绕过各种检测
(4)解析调用/漏洞绕过这类漏洞直接配合上传一个代码注入过的非黑名单文件即可,再利用解析调用/漏洞
(5)白名单检测
2、白名单相对来说比黑名单安全一些,但也不见得就绝对安全了
 
(1)0x00 截断绕过
 
用像 test.asp%00.jpg 的方式进行截断,属于白名单文件,再利用服务端代码的检测逻辑漏洞进行攻击,目前我只遇到过 asp 的程序有这种漏洞 + 解析调用/漏洞绕过这类漏洞直接配合上传一个代码注入过的白名单文件即可,再利用解析调用/漏洞
 
(2).htaccess 文件攻击
 
在 PHP manual 中提到了下面一段话 move_uploaded_file section, there is a warning which states ‘If the destination file already exists, it will be overwritten.' 如果 PHP 安全没配置好就可以通过 move_uploaded_file 函数把自己写的.htaccess 文件覆盖掉服务器上的这样就能任意定义解析名单了
 
服务端检测绕过(文件内容检测)
 
如果文件内容检测设置得比较严格,那么上传攻击将变得非常困难也可以说它是在代码层检测的最后一道关卡如果它被突破了,就算没有代码层的漏洞也给后面利用应用层的解析漏洞带来了机会。

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读