SQL注入漏洞的原理


这篇文章主要讲解了“SQL注入漏洞的原理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL注入漏洞的原理”吧!用户提交数据后,后端服务器将用户提交的数据带入sql语句对数据库进行操作,如果没有进行过滤,那么用户提交构造好的特殊语句,就可以对数据库进行非法的操作,即引发sql注入,例如以下代码(sqli-labs-1)数据库中有数据如下那么用户提交?id=-1,则代入数据库正常查询且正常输出但如果用户提交的数据为那么则会返回我们构造的语句对数据库进行的查询操作返回的值我们将两个提交的数据都带入我们后端的执行中对比,如下可以看到,如果没有经过过滤就将用户提交的非法数据带入后端执行的话,真正执行的语句是SELECT * FROM user WHERE id='-1' union select 1,2,database() -- ' LIMIT 0,1,而后面被注释的部分不执行,那么就不会引发错误,在查询id字段值为-1没有结果后,就会执行union查询,查询出数据库名并输出,这就是最典型的sql注入。就不按照数字型字符型这些来分类了,我认为按照利用方式来分类更容易理解有回显无回显提交的参数与数据库交互,参数添加“ ‘ ”(英文单引号),出现异常(sql语法错误),即存在sql注入,如果无回显,可以通过延时或者布尔盲注来检测是否存在漏免费云主机域名洞。注:异常报错的原因是因为后台将参数中的单引号带入sql语句进行数据库操作,多了一个单引号引发sql语法错误,所以报错即整明了我们的单引号进入了sql语句执行中。使用sqlmap进行检测,这里是下载地址和使用说明点击跳转有回显型构造语句查询数据,无回显型进行盲注,不过比较费时间。这里就以mysql的数据库,sqli-labs的less-1为例,列出一些常用的语句,如果要详细展开细讲的话,篇幅肯定会特别特别长,一篇文章恐怕各位看官们也看不下去,各位需要用到更多的语句时自行百度即可,如果需要的话后面可以分开出详细的各中注入方式的详解文章。无回显的还有一种利用方式是利用DNSlog外带查询的内容,这里有一位师傅讲的已经很详细了,点击查看原文以上为GET型注入,POST型类似,修改参数值即可。依旧是sqlmap一把梭,实战中根据实际需求使用tamper进行绕过一些过滤。用户可控的参数与数据库有交互的地方,常见与查询,登录等;在测试中可以爬取网站的一些api查询接口,也会存在sql注入。为网站添加waf,虽然不能修复sql注入漏洞,但是可以拦截敏感数据以防止sql注入被黑客利用在服务器端添加过滤代码以过滤可能引发sql注入的敏感字符示例:感谢各位的阅读,以上就是“SQL注入漏洞的原理”的内容了,经过本文的学习后,相信大家对SQL注入漏洞的原理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云编程开发博客,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 华三模拟器telnet远程登录

华三模拟器Telnet远程登录1.在模拟器上打开一个服务器并启动该设备,在连接一个本地主机,如图所示2.打开MSR36-20_1设备并配置它(1)网络相连端口的IP地址(2)打开Telnet服务器功能(3)免费云主机域名进入vty用户界面(4)配置密码(5)设…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/02 13:23
下一篇 02/02 13:24