渗透测试之sql注入延伸手法的攻与防-阿里云开发者社区

开发者社区> 网站安全> 正文

渗透测试之sql注入延伸手法的攻与防

简介: 几年前,SQL注入在世界范围内很流行,但现在,SQL注入仍然是最流行的攻击方法之一,开发人员为此头疼。当然主要是因为注入攻击的灵活性,一个目的,多条语句,多种编写方法。SQL注入可以分为工具和手工两种。由于自动化,工具通常比手动注入效率高得多,但与手动注入相比,它们受到限制,因为它们没有针对性。
+关注继续查看

几年前,SQL注入在世界范围内很流行,但现在,SQL注入仍然是最流行的攻击方法之一,开发人员为此头疼。当然主要是因为注入攻击的灵活性,一个目的,多条语句,多种编写方法。SQL注入可以分为工具和手工两种。由于自动化,工具通常比手动注入效率高得多,但与手动注入相比,它们受到限制,因为它们没有针对性。

图怪兽_2f2b271e17499649e71a2b579ae6fef7_17705.png

所有的输入都可能是有害的,有参数的地方都可能存在SQL注入。但是由于浏览器的限制,http头中的一些隐藏链接、API调用和参数往往被忽略。那么如何进行全面的SQL注入挖掘呢?在渗透测试中,无论注入工具多么强大,都会有局限性,手动注入可以解决这个弱点。当然,手动注入需要渗透者对数据库的语法有一定的了解。但是由于SQL注入的灵活性和多样性,如果详细讨论的话,恐怕可以写成单本书了。在这里,作者将选择最具代表性的例子进行论证。

图怪兽_9966c206583cd8eb3253d571ce7abf3c_52849.png

注入遇到的一个常见情况是注入得到的加密密文无法求解。为了解决这个问题,这里解释几种可行的方法。(1)使用国外的搜索引擎,往往会有意想不到的收获,最常见的是Google。(2)用Whois查出管理员邮箱,然后发邮件通知管理员更改密码。邮件内容无非是“我们是XXX检测中心,你的网站有风险。请立即更改管理员密码……”。(3)分析Cookie。有时加密的密文会出现在cookies中。这种情况下,cookies中的密文可以直接被管理员的密文替换。(4)在特定的注入环境中,原始密文有时可以被新密文替换。当然这种方法的执行条件比较苛刻,实践中很少遇到。(5)使用密码检索功能。使用秘密安全问题来检索密码是很常见的。在这种情况下,可以注入秘密安全问题的答案,然后使用密码检索功能成功登录目标帐户。(6)逻辑缺陷。比如一些登录功能、修改功能、密码检索功能等都是以密文的形式直接在数据包中传输的。这时可以用密文代替,这样就可以登录并更改密码了。

图怪兽_2021be56f4a05a9b5607eaea9a7a69af_71728.png

如何防护SQL注入攻击呢?

1.对代码进行过滤非法符号如?&>之类的,对一些脚本标签scrpt以及img或frame都进行过滤和替换。

2.对一些函数变量直接进行强制定义,比如金额函数这里直接限定只能写入正整数类型的数值,那么其他的参数像姓名的话可以直接限定到只允许写入中文和英文的数值,其他的以此类推。

3.对一些带入数据库查询和更新的语句,一定要看看get或post过来的数据参数是否是直接把参数类型锁定好了的,防止被注入恶意语句导致被攻击。

4.如果对着代码方面的问题不懂得话可以到网站安全公司去寻求帮助,国内如SINESAFE,鹰盾安全,绿盟,启明星辰等等。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2637 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
10218 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
9564 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
2167 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11672 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
8167 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
21020 0
+关注
网站安全
Sinesafe专注于网站安全,服务器安全,解决各类网络安全问题,对代码审计以及漏洞修补安全加固有专业的十年实战经验.官方站点www.sinesafe.com
400
文章
184
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载