PHP安全编程之SQL注入
2016-09-27 22:58
555 查看
今天晚上来学习一下phpsql注入
首先搭建测试环境, 一个新闻内容页
从URL地址栏获取文章id 从数据库中读取
SELECT * FROM
可以看到,这里的$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语句转换为注入时需要的语句
首先搭建测试环境, 一个新闻内容页
从URL地址栏获取文章id 从数据库中读取
SELECT * FROM
newsWHERE
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语句转换为注入时需要的语句
相关文章推荐
- PHP安全编程:防止SQL注入
- PHP安全编程:会话数据注入
- PHP安全-SQL 注入
- 【PHP】防 SQL 注入和开发安全
- PHP安全编程:shell命令注入(转)
- PHP安全编程之shell命令注入
- PHP安全编程之shell命令注入
- PHP安全编程:会话数据注入
- 【安全 PHP】sql防注入和xss安全 方案 请喷
- PHP安全、Sql防注入安全汇总
- PHP安全编程之会话数据注入
- PHP安全编程之文件包含的代码注入攻击
- PHP安全编程:会话数据注入 比会话劫持更强大的攻击(转)
- PHP安全编程:shell命令注入
- PHP中实现表单变量的安全处理,防止SQL注入
- SQL安全注入
- MySql 防注入及SQL语句安全检测
- PHP通用防注入安全代码
- PHP SQL 注入攻击的技术实现以及预防办法
- 如何防止ASP.NET应用程序中的SQL注入安全漏洞