手动SQL注入(盲注)讲解
由于很多人(特别是针对初学者)在百度查找相关的SQL盲注的文章时总感觉无法得到一篇很基础,很完整的文章,所以在这里讲解一篇完整的SQL注入文章
1 查找源码之家等网站进行下载一个网站, 在这里我下载的ASP制作的网站
(1) 打开源码之家的官网:https://www.mycodes.net/ 如下图,都是可以下载的。
(2)随便下载一个网站后,解压文件并且复制到自己建立的目录下面,然后运行测试工具(这相当于把网站部署到自己的IIS上了,不需要布置了,网站的URL地址为:你自己的电脑的IP地址加上后面的端口号就可以访问了,我这个端口号就是第三幅图中的51264)
(3)你也可以通过其他的设备输入IP:端口号进行访问,如手机端输入192.168.100.9:51264可以访问到该网站。
2.下面我们开始SQL注入讲解(我使用的是另外的也是 从源码之家下载的ASP网站)
(1)查找注入点:先访问网站http://192.168.8.251:99(通上面说的一样IP:端口号),然后可以看见页面正常显示,随后在网站的后面加入**?id=1** ,使网站网址http://192.168.8.251:99 ?id=1,然后可以看见网页也显示正常,并且跳转到http://192.168.8.251:99/Company.asp?id=1界面,同理测试一下id=2的,直到页面显示不一样。
(2)输入And 1=1 页面显示正常,如果页面如下图显示,说明你的网站不能注入,就是人家已经进行了防御 (3)如果页面显示正常如下所示,说明可以进行SQL注入
(4)当and 1=2 页面显示和and 1=1出现数据不一样
(5)判断当前页面使用的数据库中的表定义了几个字段。http://127.0.0.1:99/Company.asp?id=1 order by 1
(6)尝试order by 2,还是显示正常
(7)当执行order by 9的时候页面非正常,由此判断出表共有8个字段,可以看见已经显示没有添加相关内容,说明表有8个字段(这个意思应该懂吧,比如说一个表需要用户名、密码等等信息,而这个8就是有用户名、密码、年龄这种字段有8个)
(8)把表的字段判断完之后我们来通过暴力破解的方式来判断数据库中的表名:通过把网站常用表名称作为词典,或者去下载词典,然后使用hydra等暴力破解软件进行破解得出表名称(此处省略了这个过程),最后通过暴力破解我们得出了表的名称,我们在这里使用exists(seleect * from 表名称)一直运行网页直到把表名称确定下来(也就是暴力破解)
当测试http://127.0.0.1:99/Company.asp?id=1 and exists(select 这里用“星号” from nwebadmin) 页面显示正常,说明我们破解得到表的名称为nwebadmin
结论:数据库中存在nwebadmin表,数据库中不存在XX。思路是把表名处理成变量,用字典的暴力破解的思路去得到表名。
(9)判断完表名称后,我们已经获取了8个字段,表名称为nwebadmin的信息,然后我们来判断表中的字段名字(刚刚只是确定了有8个字段,现在需要判断这8个字段名称到底是啥),同理,把字段名作变量进行字典暴力破解。如下图,把xx作为字典,然后进行暴力破解得到字段名称。
(10)猜解的字段id username password),然后我们一个一个替换xx的位置,可以看见获取到相应的信息,说明username,id和password是表的字段名称,其他的我们就不用了,因为对于我们来说,用户名和密码是最重要的,
(11)获取了username,id和password之后,我们http://127.0.0.1:99?id=1 and 1=1 union select 1,2,3,4,5,6,7,8 from nwebadmin来运行网页,可以看见网页输出了2和3。
(12)下面我们把2,3和位置换成上面的我们获取的字段名用户名username和密码password,即可看见页面输出相应的信息,admin和一串不认识的东西,很显然,那个不认识的东西就是所谓的password,那我们怎么样才能知道那个密码是多少呢?
(13)其实,我们都很清楚,这个数据库的密码是通过MD5进行加密的,所以在这里,我们直接复制加密后 这个东西,然后进行MD5解码,直接百度就行。将密码进行破解后,得到用户的密码为admin888 ,SQL注入就完成了
下面是简单的使用
(1)现在,我们获取到了用户名admin和密码admin888,我们使用获取的用户名和密码进行登录后台,
(2)登录后,进行文件上传(这里的话肯定是上传木马咯),把我们编写好的木马后缀名改为jpg,然后进行上传
(3)运行木马文件,这个正常的界面
(4)打开中国菜刀,右键新建,输入目标地址,然后可以直接运行
(5)可以清楚地看见服务器上的所有文件,可以进行下载和使用。这只是简单的SQL注入和使用中国菜刀进行一句话木马的连接,就可以获取服务器上的所有资源,可见危害之大。
(6)木马的内容是一句话木马。
第一次尝试写博客,还是有点激动和紧张的,后面我打算讲解一些Kali的简单使用,有兴趣的小伙伴可以关注我,如果有需要工具的可以留言(尽量是QQ邮箱),我会私发给你!
手动SQL注入(盲注)讲解相关推荐
- SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用
Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...
- 05_SQL注入_功能语句报错注入盲注
05_SQL注入_功能语句&报错回显&盲注 1. SQL 语句和网站功能 1.1 Web开发中常见语句 [本章代码来源于pikachu和sqli-lab中的靶场] 开发中,根据不同的需 ...
- 【Less-9】基于SQLI的SQL时间盲注
实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! [实验目的] [实验环境] [实验原理] [实验步骤] 第一步 登录SQLI-Labs平台 第二步 登录Kali平台 ...
- SQL注入详细步骤讲解
SQL注入详细步骤讲解 1.Get型 整型与字符型注入判断: 举例: http://xxx/xxx/Less-1/?id=1 and 1=1 --+ 输入?id=1 and 1=1 --+正常,输入? ...
- sql盲注特点_sql盲注讲解
盲注 有时候,开发人员不会把数据库报错信息显示在前端页面,这样就使我们想要通过union注入或报错注入的攻击方式难以实现. 当不显示报错信息的时候,我们还可以通过盲注的方式来对数据库进行注入攻击. 盲 ...
- Wireshark分析sql布尔盲注流量包
目录 0x001 题目 0x002 查看注入语句 0x003 观察响应包 0x004 脚本编写 0x001 题目 0x002 查看注入语句 将流量包导入Wireshark 看着很乱,输入url通过浏览 ...
- 以dvwa为例学习简单sql布尔盲注的详细脚本
0x01 前置知识 1.SQL注入与SQL盲注 SQL注入: 执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提示SQL语法不正确等 一般在页面上直接就会显示执行sql语句的结果 S ...
- SQL布尔盲注 —— 【WUST-CTF2020】颜值成绩查询
文章目录 题目 FUZZ 布尔盲注 注入点查找 开心爆表 爆字段 爆值 题目 题目已经说了查询,多半和sql注入脱不了干系 简单的查询框 FUZZ 测试输入1,并查询 发现页面变化了,而且url多了个 ...
- mysql手工注入——盲注
一 . 可以查看有几个数据库 命令如下 ' and (select count(*) from information_schema.schemata limit 0,1)=6 --+ 证明有6个数据 ...
最新文章
- 收藏 | 卷积神经网络中用1*1 卷积有什么作用或者好处呢?
- C#中生产者线程和消费者线程同步的实现
- 求马鞍点java_二维数组马鞍点求解算法
- [导入]注意!玩具也能成危险
- Python的Flask入门
- 分享自制的C#和VB Code互转工具
- Apache ZooKeeper - 线上系统日志清理
- java课程设计 成绩_Java课程设计—学生成绩管理系统(201521123004-林艺如)
- php中的foreach如何使用?
- lumanager mysql_LuManager单独安装mysqli
- 通讯故障_伦茨lenze全数字直流调速器通讯故障维修经验很丰富
- 自定义Cell的流程
- C# 读取硬盘信息类
- 栈(Stack),轻松解决数制转换和括号匹配问题!
- 华为服务器上传文件后怎么通过链接查看,远程服务器文件上传后的操作
- 怎么实现两周联动加减速_行车记录仪种类繁多不知道怎么选?学会这几招,简单又有效...
- Invalid nested tag br found, expected closing tag li 错误解决
- 三场直播丨达梦DM8数据库体系结构、从零快速搭建一整套监控体系、Oracle Database Server经典体系结构...
- python银行排队系统_python-我需要基于Web的系统的消息/排队解决...
- 我从冯·诺依曼计算机体系,追溯到了JVM,一切原来如此