zoukankan      html  css  js  c++  java
  • php代码审计——DVWA

    1.命令注入:

    LOW等级:

    输入没有任何限制,可以直接ping;

    Medium等级:

    介绍一下str_replace()函数和array_key()函数:

    Str_replace(str1,str2,str3):将str3中的str1替换成str2.

    Array_key():返回数组中的键值。

     所以上述代码的意思就是把&&和;过滤掉了,但是这很容易绕过,我们输入&;&就可以ping命令了。

     High等级:

    从上述代码可以看到,已经几乎过滤掉所有关键字,但是我们还是可以想办法绕过:

    可以看到'| '后有空格,所以我们可以构造127.0.0.1|||ping xxx.com这样的语句进行绕过:

     总结:high等级虽然用白名单过滤掉所有关键字,但是还是能绕过去,由此可见白名单并不安全,应当采用黑名单。

    2.反射性XSS:

    Medium等级:

    从上图可以看到,它将<script>过滤掉了,但是也只是过滤掉了<script>,而且str_replacce()函数对大小写是进行区分的,所以我们可以用<img>标签 或者<Script>来绕过;

    High等级

    先说下preg_replace()函数:

    preg_replace(str1,str2,str3):将str3中的str1替换成str2.

    由上图可知,这是讲<script>过滤掉,并且不区分大小写。但是我们让然可以绕过,使用<img>标签就可以了。

    存储型XSS和反射性一样,这里就不作分析了。

  • 相关阅读:
    1.Android 视图及View绘制分析笔记之setContentView
    Android 6.0
    include、merge 、ViewStub
    Vitamio视频播放器
    EventBus 二
    EventBus 一
    ZJOI2002 昂贵的聘礼
    [POI2009]WIE-Hexer
    UVA 11440 Help Tomisu
    洛谷 2448 无尽的生命
  • 原文地址:https://www.cnblogs.com/xiaoqiyue/p/10548933.html
Copyright © 2011-2022 走看看