上次说到工具注入的天花板,burpsuite和sqlmap联动注入SQL漏洞。

用burpsuite和sql联动工具注入漏洞_mammal7的博客-CSDN博客

但是工具注入并不是万能的,并且,只使用工具注入的话,会被称为“脚本小子”,当然这是一个贬义词。 工具注入的缺点还是很多的,例如:大部分目标网站会开启安全设备,会禁ping,禁扫描,封ip等。网站都进不去就别提注入了。

那么,手工注入就是我们的必要手段。可以避开抓包等繁琐的中间过程,直接注入漏洞。

首先,我们要了解SQL注入漏洞是对网站的数据库进行读取。那么就要针对网站的数据库写相应的语句。(以获取dvwa靶场中,admin,password为例)

主要步骤如下:

1.找交互点

启动phpstudy,保证Apache和Mysql处于绿灯状态。打开firefox浏览器,输入127.0.0,1/dvwa.master,进入dvwa靶场。

进入DVWA Security,将安全等级改为low等级。

在SQL injection的左下角检查安全等级是否为low。

在User ID中输入1,观察url的回显结果。

发现?id=1请求,说明这是一个交互点。

2.找注入点 

User ID 或者顶部栏中,1后面加一个',观察回显结果。

页面显示error,在1后,说明id=1是一个注入点。

3.判断类型(int 类型,char 类型) 

两个类型决定了后续语句的写法,至关重要。

输入语句1 and 1=1(这个结果为真)

输入语句1 and 1=2(这个结果为假)

分别观察两个网页的回显结果。发现这两个url的回显结果是一样的。判断出注入类型为char类型。那么后续的所有手工注入语句要在int类型的基础上,输入‘闭合 #注释

4.判断列数(order by 语句)

输入语句:1'order by **#  (由于不知道列数,采用二分法可大大提高效率)

输入语句1' order by 1#,观察回显结果。

发现页面正常显示,说明存在一个列。

接着输入语句1' order by 10#,观察回显结果。

这里显示不存在,说明列数没有10个,用二分法查找order by 5。

这里依然显示不存在,说明列数没有5个。以此类推,用二分法继续查找,直到页面正常显示。

在用二分法反复尝试后,发现3列不存在,2列正常显示,说明网站存在2个列

5.看回显位置(union select)

用联合查找语句获取对应列的位置,观察回显结果。

输入语句:1' and 1=2 union select 1,2#

and 1=2:防止原网站显示,对信息的获取产生干扰,令原网站为假。

发现两个列对应位置。猜测admin 和 password在2列中。

6.读取数据库的名称(database())

输入语句:1' and 1=2 union select 1,database()#    观察回显结果。

读取到surname中数据库名称为dvwa,那接下去就好办了,数据表,数据列,读取数据逐个击破。

7.读取数据表的名称 (table_name)

输入语句:1' and 1=2 union select 1,table_name from information_schema.tables where table_schema='dvwa'#     观察回显结果。

Information_schema:数据库名,所有网站的数据库都在里面,tables是其中的一张表(存储着所有网站的数据表名称),用.来列出。

table_shcema=’dvwa’表示获取table_schema数据库中dvwa的数据表名,也就是我们要的。

获取到两个表名,guestbook和users。猜测admin 和 password在users中。

8.读取数据列的名称(column_name)

语句与table_name 类似。输入语句:1' and 1=2 union select 1,column_name from information_schema.columns where table_name='users'#   观察回显结果。

可以查到对应列的名称。猜测admin 和 password在user 和 password列中。

9. 读取数据 (concat)

最后一步当然是读取数据啦。输入语句:1' and 1=2 union select 1,concat(user,password) from users#

concat:连接两个要查找的列。

这里会看到一长串数字和字母,无法判断admin和password。这里可以在concat中加一个字符隔开。例如(user,'        ',password),这样就能很清楚的区分admin和password啦。

将读到的数据用md5解密后,就可以获取到明文的账号密码了。怎么样,手工注入SQL漏洞是不是很酷呢!

另外声明一下,这个靶场是char类型的,如果判断出是int类型的话,只需将语句中' 和# 删除,其他语句一摸一样。

 

        

 

手工注入完成SQL注入漏洞相关推荐

  1. 【SQL注入】 sql注入中的union和limt关键字的使用解析

    [SQL注入] sql注入中的union和limt关键字的使用解析 我将用测试靶场做演示,拿下网站数据库来向你展示sql注入全过程和思路 一.首先要找到注入点 [http://rhiq8003.ia. ...

  2. 【SQL注入】SQL注入基本流程

    [SQL注入]SQL注入基本流程 摘要 一次简单的SQL注入靶场实践,两个实验环境,分别为有显示位和没有显示位,采用联合注入和布尔型注入的方法,分别通过手注和sqlmap工具的方式进行注入,最终获得数 ...

  3. (41.1)【JWT-KID漏洞】KID之目录遍历、命令注入、SQL注入

    目录 一.密钥泄露 二.KID 2.1.原理: 2.2.示例: 三.目录遍历 3.1.原理: 3.2.KID之目录遍历 3.2.1.前提: 3.2.2.利用: 3.2.3.示例: 3.2.4.利用: ...

  4. 5-2从一个数字型注入认识sql注入漏洞

    目录 SQL Inject 漏洞-注入点类型-数字类型判断 演示:pikachu-SQL-Inject-数字型注入 SQL Inject 漏洞-注入点类型-数字类型判断 我们切换到pikachu的平台 ...

  5. 注入攻击-SQL注入和代码注入

    注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险.实际上,它们会一起出现,因为 XSS 攻击依赖于注入攻击的成功.虽然这是最明显的组合关系,但是注入攻击带来的不仅 ...

  6. SQL注入:SQL注入类型(手动)SQL注入的检测

    一.SQL注入流程 1.判断是否有SQL注入漏洞(检测) 2.判断操作系统.数据库和web应用类型 3.获取数据库信息,包括管理员信息及拖库 4.加密信息破解,sqlmap可自动破解 5.提升权限,获 ...

  7. 常见基础注入类型-SQL注入-web安全

    下面还是以sql-labs漏洞测试平台来介绍下其他的常见注入,在之后我们会找一些在线靶场来检验下效果如何. 1.时间盲注 MySQL基于时间盲注的原理分析,注入SQL语句执行后不提示真假,也不能通过页 ...

  8. mysql注入ctf_CTF SQL注入

    一.宽字节注入 原理:GBK编码.URL转码 利用mysql的一个特性,mysql在使用GBK编码的时候,会认为两个字符是一个汉字(前一个ASCII码要大于128,才到汉字的范围) 例如:' -> ...

  9. Mysql的sql注入_MySQL SQL注入

    如果通过网页需要用户输入一些数据信息,并将其插入到MySQL数据库,这是一个引入SQL注入安全问题的机会.这一节将学习如何防止这种情况的发生,并帮助保护脚本和MySQL语句. 通常注入是在当要求用户输 ...

最新文章

  1. MAT之SVM:SVM之分类预测根据已有大量数据集案例,输入已有病例的特征向量实现乳腺癌诊断高准确率预测
  2. Maven教程初级篇01: 简介
  3. PMP之项目资源管理---管理风格
  4. nginx_反向代理
  5. flask-01-http通信的回顾
  6. Python字符串isdecimal()
  7. 乐玩自动化测试模块_深圳大数据测试培训推荐班
  8. 解析JDK 7的Garbage-First收集器
  9. 使用Xcode打包上传APP
  10. 审批工作流及数据库设计
  11. 长文图解工业HART总线协议
  12. PS换照片底色(三种方式)
  13. win10计算机 需要新应用,win10 计算器提示:需要新应用打开此calculator
  14. 郑大计算机专业英语01章,郑州大学远程教育《大学英语II》第01章在线测试
  15. 如何使用Windows Identity Foundation(WTF)实现单点登录
  16. 商场楼层地图怎么制作,高效、便捷的商场二三维地图绘制平台
  17. 戴尔服务器安装系统出现蓝屏重启,服务器安装系统蓝屏原因_dell服务器安装系统设计.docx...
  18. HTML5期末大作业:XXX 网站设计——指环王:护戒使者(13页) HTML+CSS+JavaScript HTML+CSS+JS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规
  19. oracle时间戳表达式,Oracle Timestamp类型
  20. 中国联通WCDMA网编号计划和频率及扰码规划

热门文章

  1. 【flex chat】 p2p视频语音聊天室 欢迎你的测试
  2. 【运维】- raid管理工具MegaCli以及storcli使用介绍
  3. Http的多线程下载的实现
  4. nba app android,NBA app官方版
  5. 页面间大量数据参数传递
  6. 初步了解指针------指针的基本概念
  7. 北京公共自行车-北京市交通委员会运输管理局
  8. 麦克林排名计算机,转需!2021年加拿大麦克林杂志排名大学院校推荐
  9. php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
  10. AT5014 Random Tournament