网络安全入门篇:bwapp靶场通关(更新ing)

A1 -Injection

HTML Injection - Reflected(GET)

low 级别

low级别意味着没有任何检查

输入·<h1>This is a test</h1>·,可以看到可以被完整解析到页面上

图片

输入<meta http-equiv="refresh" content='0; url=https://xxx:xxx/portal.php

图片

medium 级别

进行和low级别相同操作

图片

发现无法注入成功

抓包可见cookie值有变化

图片

图片

查看源码app/htmli_get.php

图片

进一步找到xss_check_1,在app/functions_external.php中

图片

可以看出medium级别的检查是先将输入的<>转为html字符实体&lt和&gt

然后对输入解码

这里可以看到bwapp提供了三个例子



<script>alert(0)</script>

%3Cscript%3Ealert%280%29%3C%2Fscript%3E //这是对<script>alert(0)</script>的一次编码

%253Cscript%253Ealert%25280%2529%253C%252Fscript%253E //这是对<script>alert(0)</script>的二次编码



不难得出解决办法是输入编码后的代码

这里就不放图了

high 级别

运行和medium相同操作,也是无法注入成功,查看代码

发现是带有ENT_QUOTES参数的htmlspecialchars()函数,

暂时没想到办法

图片

HTML Injection - Reflected(POST)

同GET方式

HTML Injection - Reflected (URL)

low 级别

抓包如图示,将编码部分更改即可

图片

图片

根据源码

图片

也可以更改host

图片

medium 级别

该问题似乎是在 Javascript 中运行的 DOM XSS 中的一个漏洞.

它已在最近的浏览器中得到处理。现在的浏览器可以对URL中的<>字符进行编码,从而导致攻击失败.

可以在老版本的IE中实现进攻.

high 级别

可以从源码看到再次使用了带有ENT_QUOTES参数的htmlspecialchars()函数,不可绕过.

HTML Injection - Stored (Blog)

low 级别

直接尝试注入,可行

图片

medium&high 级别

尝试注入,发现没有被解析

查看源码 app/htmli_stored.php

function htmli($data)

{



    include("connect_i.php");



    switch($_COOKIE["security_level"])

    {



        case "0" :



            $data = sqli_check_3($link, $data);

            break;



        case "1" :



            $data = sqli_check_3($link, $data);

            // $data = xss_check_4($data);

            break;



        case "2" :



            $data = sqli_check_3($link, $data);

            // $data &
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值