解题神器软件下载_解题app哪个好

解题神器软件下载_解题app哪个好BrokenAuth.&SessionMgmt.InsecureLoginFormslow???medium查看源码跟踪unlock_secret()方法,很简单的逻辑functionunlock_secret(){varbWAPP="bashupdatekilledmyshells!"vara=b…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Broken Auth. & Session Mgmt.

失效的会话认证以及Session管理。

Insecure Login Forms

low

???
Alt text

medium

查看源码
Alt text

跟踪unlock_secret()方法,很简单的逻辑

function unlock_secret()
{

var bWAPP = "bash update killed my shells!"

var a = bWAPP.charAt(0);  var d = bWAPP.charAt(3);  var r = bWAPP.charAt(16);
var b = bWAPP.charAt(1);  var e = bWAPP.charAt(4);  var j = bWAPP.charAt(9);
var c = bWAPP.charAt(2);  var f = bWAPP.charAt(5);  var g = bWAPP.charAt(4);
var j = bWAPP.charAt(9);  var h = bWAPP.charAt(6);  var l = bWAPP.charAt(11);
var g = bWAPP.charAt(4);  var i = bWAPP.charAt(7);  var x = bWAPP.charAt(4);
var l = bWAPP.charAt(11); var p = bWAPP.charAt(23); var m = bWAPP.charAt(4);
var s = bWAPP.charAt(17); var k = bWAPP.charAt(10); var d = bWAPP.charAt(23);
var t = bWAPP.charAt(2);  var n = bWAPP.charAt(12); var e = bWAPP.charAt(4);
var a = bWAPP.charAt(1);  var o = bWAPP.charAt(13); var f = bWAPP.charAt(5);
var b = bWAPP.charAt(1);  var q = bWAPP.charAt(15); var h = bWAPP.charAt(9);
var c = bWAPP.charAt(2);  var h = bWAPP.charAt(2);  var i = bWAPP.charAt(7);
var j = bWAPP.charAt(5);  var i = bWAPP.charAt(7);  var y = bWAPP.charAt(22);
var g = bWAPP.charAt(1);  var p = bWAPP.charAt(4);  var p = bWAPP.charAt(28);
var l = bWAPP.charAt(11); var k = bWAPP.charAt(14);
var q = bWAPP.charAt(12); var n = bWAPP.charAt(12);
var m = bWAPP.charAt(4);  var o = bWAPP.charAt(19);

var secret = (d + "" + j + "" + k + "" + q + "" + x + "" + t + "" +o + "" + g + "" + h + "" + d + "" + p);

if(document.forms[0].passphrase.value == secret)
{ 

    // Unlocked
    location.href="/bwapp/ba_insecure_login_2.php?secret=" + secret;

}

else
{

    // Locked
    location.href="/bwapp/ba_insecure_login_2.php?secret=";

}

}
将其执行后得到secret,输入后通过
Alt text

high

源码

// Retrieves the LDAP connection settings
$login = $_SESSION["ldap"]["login"];
$password = $_SESSION["ldap"]["password"];
$server = $_SESSION["ldap"]["server"];
$dn = $_SESSION["ldap"]["dn"];

if(isset($_POST["form"]))   
{ 

 if($_POST["login"] == $login && $_POST["password"] == $password)
 { 
   

 $message = "<font color=\"green\">Successful login!</font>";

 }

 else 
 { 
   

 $message = "<font color=\"red\">Invalid credentials!</font>";

 }

}

这里使用了LDAP访问协议。

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

总结

这里的题目初看起来很奇怪,但是很容易理解为什么这样设计:第一个题目就是初学者最初设计的登录方法,只要输入的账户密码和后台中自己的预设值相同即可成功登录,这种方法容易被爆破,很不安全。第二个题目是将后台的验证方法暴露了出来。

Logout Management

low

这个,能猜到大概是直接用了重定向,再点click后再进入例如http://localhost/bwapp/portal.php的网页,很容易发现确实没有注销我们的cookie。源码中也验证了这一点。

<div id="main">

    <h1>Broken Auth. - Logout Management</h1>

    <p>Click <a href="ba_logout_1.php" onclick="return confirm('Are you sure?');">here</a> to logout.</p>

</div>

medium and high

进入ba_logout_1.php后销毁了cookie,安全

switch($_COOKIE["security_level"])
{

case "0" :       

    // Do nothing

    break;

case "1" :            

    // Destroys the session        
    session_destroy();       

    break;

Password Attacks

low

不是很懂是什么意思,大概是直接爆破?

if(isset($_POST["form"]))   
{ 

if($_POST["login"] == $login && $_POST["password"] == $password)
{

    $message = "<font color=\"green\">Successful login!</font>";

}

else        
{

    $message = "<font color=\"red\">Invalid credentials! Did you forgot your password?</font>";

}

}

medium

这里在登录时需要传入一个salt,似乎不能爆破的样子
Alt text

但是这个salt是存在本地的,仍然可以被爆破
Alt text

high

使用验证码

if(isset($_SESSION["captcha"]) && ($_POST["captcha_user"] == $_SESSION["captcha"]))

Alt text

low

HINT: check the URL…

http://localhost/bwapp/smgmt_admin_portal.php?admin=0

edit admin=0 to admin=1

medium

HINT: check the cookies…
Alt text
edit admin=0 to admin=1

high

You need to creat a new user to replace bee/bug, or it will be not worked.

 // Sets a cookie 'admin' when there is no cookie detected
 setcookie("admin", "0", time()+300, "/", "", false, false);
 header("Location: " . $_SERVER["SCRIPT_NAME"]);

Forgotten Function

You need to creat a new user to replace bee/bug, or it will be not worked.

low

密码直接打印出来

// Security level LOW
// Prints the secret

Alt text

medium

// Security level MEDIUM
// Mails the secret

high

// Security level HIGH
// Mails a reset code

Session Mgmt

这里的四个题目都与cookie属性设置有关,下面是cookie的属性说明。

name

name字段为一个cookie的名称。

value

value字段为一个cookie的值。

domain

domain字段为可以访问此cookie的域名。

非顶级域名,如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名本身,不能设置其他二级域名的cookie,否则cookie无法生成。

顶级域名只能设置domain为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。

二级域名能读取设置了domain为顶级域名或者自身的cookie,不能读取其他二级域名domain的cookie。所以要想cookie在多个二级域名中共享,需要设置domain为顶级域名,这样就可以在所有二级域名里面或者到这个cookie的值了。
顶级域名只能获取到domain设置为顶级域名的cookie,其他domain设置为二级域名的无法获取。

path

path字段为可以访问此cookie的页面路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。

expires

expires/Max-Age 字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。

size

Size字段 此cookie大小。

httponly

若此属性为true,则只有在http请求头中会带有此cookie的信息,而不能通过JS来访问此cookie。

secure

secure 字段 设置是否只能通过https来传递此条cookie

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193409.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 根据bak还原数据库,备份集中的数据库与现有数据库“XXX”数据库不同

    根据bak还原数据库,备份集中的数据库与现有数据库“XXX”数据库不同在做数据库相关的日常工作中,还原与备份数据库会经常遇到,有时候同样的sql2008备份的数据库,从别人那边备份的数据库文件,在自己的电脑上还原会出现:的错误。解决方法有两种:第一种:右键数据库点击还原数据库,填上需要还原的数据库名,就可以直接还原了。第二种:在新建的数据库上还原数据库时,选好备份文件后,勾选上覆盖现有数据库即可。原文地址:https://blog.csdn.net/sushena/…

    2022年5月10日
    39
  • 1174: 零起点学算法81——求整数绝对值

    1174: 零起点学算法81——求整数绝对值

    2022年3月2日
    46
  • 关于如何访问当前页面所在的iframe属性[通俗易懂]

    今天碰到个问题,在当前页面访问包含他的iframe标签中的属性。用如下方法:window.frameElement如果要id就在后边加上.id 用什么加什么。其实很简单。就是知识面太少。

    2022年4月17日
    56
  • idea2021.7 30天激活码【中文破解版】

    (idea2021.7 30天激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlb…

    2022年3月21日
    98
  • html网页详细代码「建议收藏」

    html网页详细代码「建议收藏」1)贴图:<imgsrc="图片地址">2)加入连接:<ahref="所要连接的相关地址">写上你想写的字</a>1)贴图:2)加入连接:写上你想写的字3)在新窗口打开连接:写上要写的字消除连接的下划线在新窗口打开连接:写上你想写的字4)移动字体(走马灯):写上你想写

    2022年6月4日
    28
  • Origin简单绘图

    Origin简单绘图一、从cadence导出数据仿真生成波形之之后,鼠标选中波形,右击—>SendTo—>Export,进行csv数据的保存。打开该csv文件,删掉第一行,第一行是是横纵坐标的标识,左侧第一列是横坐标值,右侧列是纵坐标值。二、origin简单绘图双击图标打开origin导入csv数据可选中多个csv文件导入为了让两个csv的数据同时显示,在弹出的对话框进行以下操作(默认第二个csv数据会覆盖第一个csv数据)。设置好之后点击“确定”,两个csv数据均被导入到了o

    2022年6月1日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号