您的位置:首页 > 数据库

PHP安全编程之SQL注入

2016-09-27 22:58 555 查看
今天晚上来学习一下phpsql注入

首先搭建测试环境, 一个新闻内容页

从URL地址栏获取文章id 从数据库中读取

SELECT * FROM
news
WHERE
id
=$id

可以看到,这里的$id从地址栏获取并带入到数据库中进行查询操作

我们可以通过这里来实现我们的sql注入攻击

首先判断注入 ’ 或者 and 1=2 如果页面显示出现问题,那么就是存在sql注入

存在sql注入之后 我们可以通过UNION联合语句进行注入

当然首先是暴力猜解数据表名

UNION SELECT FROM admin

然后我们可以通过下面这种手段来直接获取数据库的有关信息,

UNION SELECT database(),version(),user()

用户ID:sqlin

文章标题:10.1.9-MariaDB

爆出: 数据库名 sqlin 数据库用户名 root 数据库地址 localhost 数据库版本 MariaDB

还有操作系统 @@version_compile_os

WIN32 指的是当前版本运行环境

没有多大意义 Windows 64位版本中可以兼容32位的程序

下面就是只针对mysql5.0版本以上的数据库才有效

原理 mysql5.0版本以上中新添加了一个数据表叫做 information_schema

里边存储了很多敏感信息

使用这个方法进行注入时需要使用一个编码转换工具 ,我这里使用的是小葵多功能转换工具

使用这个工具可以将sql语句转换为注入时需要的语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息