文档章节

SQL注入攻击

Corwien
 Corwien
发布于 2016/04/02 10:48
字数 372
阅读 169
收藏 21

什么是SQL注入攻击?

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。


  1. SQL注入原理:

web架构通常为三层:

表示层、逻辑层、存储层


SQL注入过程:

  1. 转义字符处理不当

   // 构造动态SQL语句

  $sql = "select * from tbl where field = '$_GET['input']'";

  // 执行SQL语句

  $res = mysql_query($sql);

测试:

在下边的网址后边加一个单引号,就会报数据库错误

http://testphp.vulnweb.com/artists.php?artist=1

2.类型处理不当

   // 构造动态SQL语句

  $sql = "select * from tbl where field = $_GET['user_id']";

  // 执行SQL语句

  $res = mysql_query($sql);

Mysql内置了一个命令,可以读取文件

* Union all select load_file('/etc/passwd')--


select * from tbl where userid = 1 union all select load_file('etc/passwd')--

该命令会获取数据库管理员的密码


3.查询语句组织不当

user.php?table=user&


4.错误处理不当

即将站点的错误信息暴漏给用户,这样非常危险。


// 构造动态查询语句

$getid = "select * from tbl where userid > 1";

// 执行SQL语句

$res = mysql_query($getid) or die('<pre>'.mysql_error().'</pre>');

5.多个提交处理不当

// 参数是否是一个字符串

if(is_string($_GET["param"])){}


问题:

1.如果web站点禁止输入单引号字符,是否可以避免SQL注入?

寻找SQL注入的方法:

  1. 通过get请求

  2. 通过post请求

  3. 其他http请求,如cookie



© 著作权归作者所有

Corwien
粉丝 27
博文 149
码字总数 115164
作品 0
广州
程序员
私信 提问
大话数据库SQL注入的N种姿势

作者:安华金和 思成 一. 背景 数据库凭借其强大的数据存储能力和卓越的数据处理性能,在各行各业的信息化建设中发挥着关键的作用。随着数据库在各行业的大规模应用,数据泄露事件也频繁发生...

安华金和
2016/03/11
0
0
网站mysql防止sql注入攻击 3种方法总结

mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如何防...

网站安全
2018/10/11
74
0
Java程序员从笨鸟到菜鸟之(一百零二)sql注入攻击详解(三)sql注入解决办法

在前面的博客中,我们详细介绍了: sql注入攻击详解(二)sql注入过程详解 sql注入攻击详解(一)sql注入原理详解 我们了解了sql注入原理和sql注入过程,今天我们就来了解一下sql注入的解决办...

长平狐
2012/11/12
622
0
Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解

前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误。其实sql注入漏洞就是一个。作...

长平狐
2012/11/12
168
0
注入攻击-SQL注入和代码注入

注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险。实际上,它们会一起出现,因为 XSS 攻击依赖于注入攻击的成功。虽然这是最明显的组合关系,但是注入攻击带...

OneAPM蓝海讯通
2016/03/18
68
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
今天
2K
20
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
7
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
10
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
19
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部