当前位置: 首页 > news >正文

网站程序流程图网站的排名优化怎么做

网站程序流程图,网站的排名优化怎么做,阿里云如何做网站,重庆高端网站建设公司目录 Insecure CAPTCHA(不安全验证)low源码审计 medium源码审计 high源码审计 impossible源码审计 Insecure CAPTCHA(不安全验证) Insecure CAPTCHA(不安全验证)漏洞指的是在实现 CAPTCHA(完全自动化公共图灵测试区分计算机和人类&#xff0…

目录

  • Insecure CAPTCHA(不安全验证)
    • low
      • 源码审计
    • medium
      • 源码审计
    • high
      • 源码审计
    • impossible
      • 源码审计

Insecure CAPTCHA(不安全验证)

Insecure CAPTCHA(不安全验证)漏洞指的是在实现 CAPTCHA(完全自动化公共图灵测试区分计算机和人类)机制时,未能有效保护用户输入的验证信息,从而使得攻击者能够绕过或破解该验证机制。这类漏洞通常出现在网络应用程序中,目的是防止自动化脚本(如机器人)对网站进行滥用,CAPTCHA全称为Completely Automated Public Turing Test to Tell Computers and Humans Apart,中文名字是全自动区分计算机和人类的图灵测试

low

正常修改会报错

重新修改密码并抓包发送到重放器

step=1修改为step=2,发包

修改成功

源码审计

并没有什么过滤,设置了step=2才能修改,使用**mysqli_real_escape_string**可能SQL注入;使用了不安全的md5加密算法

<?phpif (isset($_POST['Change']) && ($_POST['step'] == '1')) { // Step 1: 用户提交了第一个表单,并且是第一步$hide_form = true; // 标识隐藏CAPTCHA表单// 获取用户输入的新密码和确认密码$pass_new  = $_POST['password_new'];$pass_conf = $_POST['password_conf'];// 通过第三方服务检查CAPTCHA$resp = recaptcha_check_answer($_DVWA['recaptcha_private_key'],$_POST['g-recaptcha-response']);// CAPTCHA验证未通过if (!$resp) {$html     .= "<pre><br />The CAPTCHA was incorrect. Please try again.</pre>";$hide_form = false; // 如果错误,不隐藏表单return;} else {// CAPTCHA验证通过,检查两次输入的密码是否匹配if ($pass_new == $pass_conf) {// 如果匹配,让用户确认更改$html .= "<pre><br />You passed the CAPTCHA! Click the button to confirm your changes.<br /></pre><form action=\"#\" method=\"POST\"><input type=\"hidden\" name=\"step\" value=\"2\" /><input type=\"hidden\" name=\"password_new\" value=\"{$pass_new}\" /><input type=\"hidden\" name=\"password_conf\" value=\"{$pass_conf}\" /><input type=\"submit\" name=\"Change\" value=\"Change\" /></form>";} else {// 两次输入的密码不匹配$html     .= "<pre>Both passwords must match.</pre>";$hide_form = false; // 不隐藏表单,提示用户重新输入}}
}
if (isset($_POST['Change']) && ($_POST['step'] == '2')) { // Step 2: 用户提交确认后的表单,进行更改操作$hide_form = true; // 隐藏CAPTCHA表单// 获取用户输入的新密码和确认密码$pass_new  = $_POST['password_new'];$pass_conf = $_POST['password_conf'];// 确认两个密码匹配if ($pass_new == $pass_conf) {// 对特殊字符进行转义,防止SQL注入$pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_new) : "");// 将密码进行md5加密(注:md5已不再安全,实际应用中应使用更安全的加密方式)$pass_new = md5($pass_new);// 更新数据库中当前用户的密码$insert = "UPDATE `users` SET password = '$pass_new' WHERE user = '" . dvwaCurrentUser() . "';";$result = mysqli_query($GLOBALS["___mysqli_ston"], $insert) or die('<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>');// 给用户反馈密码已更改$html .= "<pre>Password Changed.</pre>";} else {// 两次输入的密码不匹配$html .= "<pre>Passwords did not match.</pre>";$hide_form = false; // 提示错误,不隐藏表单}// 关闭数据库连接((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>

medium

同样修改后抓包

这里查看源码可以发现设置了passed_captcha验证

step=1修改为step=2,并且添加passed_captcha=true

修改成功

源码审计

与low级别差不多,多了一个设置passed_captcha=true才能正常修改

?phpif (isset($_POST['Change']) && ($_POST['step'] == '1')) {// 第一步:用户提交了表单且处于步骤1$hide_form = true; // 标识隐藏CAPTCHA表单// 获取用户输入的新密码和确认密码$pass_new = $_POST['password_new'];$pass_conf = $_POST['password_conf'];// 从第三方验证CAPTCHA$resp = recaptcha_check_answer($_DVWA['recaptcha_private_key'],$_POST['g-recaptcha-response']);// CAPTCHA验证未通过if (!$resp) {$html .= "<pre><br />The CAPTCHA was incorrect. Please try again.</pre>";$hide_form = false; // 如果错误,不隐藏表单return;} else {// CAPTCHA验证通过,检查两次输入的密码是否匹配if ($pass_new == $pass_conf) {// 密码匹配,显示下一步$html .= "<pre><br />You passed the CAPTCHA! Click the button to confirm your changes.<br /></pre><form action=\"#\" method=\"POST\"><input type=\"hidden\" name=\"step\" value=\"2\" /><input type=\"hidden\" name=\"password_new\" value=\"{$pass_new}\" /><input type=\"hidden\" name=\"password_conf\" value=\"{$pass_conf}\" /><input type=\"hidden\" name=\"passed_captcha\" value=\"true\" /><input type=\"submit\" name=\"Change\" value=\"Change\" /></form>";} else {// 两次输入的密码不匹配$html .= "<pre>Both passwords must match.</pre>";$hide_form = false; // 不隐藏表单,提示用户重新输入}}
}
if (isset($_POST['Change']) && ($_POST['step'] == '2')) {// 第二步:用户提交确认后的表单$hide_form = true; // 隐藏CAPTCHA表单// 获取用户输入的新密码和确认密码$pass_new = $_POST['password_new'];$pass_conf = $_POST['password_conf'];// 确保用户完成了第一步if (!$_POST['passed_captcha']) {$html .= "<pre><br />You have not passed the CAPTCHA.</pre>";$hide_form = false;return;}// 检查两次输入的密码是否匹配if ($pass_new == $pass_conf) {// 匹配进行密码更新// 转义特殊字符,防止SQL注入$pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_new) : "");// 使用md5加密密码(注意:md5不够安全,实际应用中应使用更好的加密方法)$pass_new = md5($pass_new);// 更新数据库中的用户密码$insert = "UPDATE `users` SET password = '$pass_new' WHERE user = '" . dvwaCurrentUser() . "';";$result = mysqli_query($GLOBALS["___mysqli_ston"], $insert) or die('<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>');// 反馈用户密码已更改$html .= "<pre>Password Changed.</pre>";} else {// 两次输入的密码不匹配$html .= "<pre>Passwords did not match.</pre>";$hide_form = false;}// 关闭数据库连接((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>

high

定位登录框,发现这么一处注释

 **DEV NOTE**   Response: 'hidd3n_valu3'   &&   User-Agent: 'reCAPTCHA'   **/DEV NOTE** 

结合源码得知需要g-recaptcha-response=hidd3n_valu3 并且 User-Agent: ‘reCAPTCHA’

同样修改后抓包

发送包并修改参数

修改成功

源码审计

设置了请求头:reCAPTCHA ; g-recaptcha-response = hidd3n_valu3,以及token使会话更有安全性,还利用CSRF令牌使的更安全

<?phpif (isset($_POST['Change'])) {// 用户提交了表单,隐藏CAPTCHA表单$hide_form = true;// 获取用户输入的新密码和确认密码$pass_new = $_POST['password_new'];$pass_conf = $_POST['password_conf'];// 验证CAPTCHA$resp = recaptcha_check_answer($_DVWA['recaptcha_private_key'],$_POST['g-recaptcha-response']);// 检查CAPTCHA验证是否通过或符合内置绕过条件if ($resp || ($_POST['g-recaptcha-response'] == 'hidd3n_valu3'&& $_SERVER['HTTP_USER_AGENT'] == 'reCAPTCHA')) {// CAPTCHA验证通过,检查两次输入的密码是否匹配if ($pass_new == $pass_conf) {// 转义输入以防止SQL注入攻击$pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_new) : "");// 使用md5加密密码(注意:不推荐在生产环境中使用)$pass_new = md5($pass_new);// 更新数据库用户密码$insert = "UPDATE `users` SET password = '$pass_new' WHERE user = '" . dvwaCurrentUser() . "' LIMIT 1;";$result = mysqli_query($GLOBALS["___mysqli_ston"], $insert) or die('<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>');// 返回用户的反馈信息$html .= "<pre>Password Changed.</pre>";} else {// 如果密码不匹配$html .= "<pre>Both passwords must match.</pre>";$hide_form = false;}} else {// CAPTCHA输入错误时的响应$html .= "<pre><br />The CAPTCHA was incorrect. Please try again.</pre>";$hide_form = false;return;}// 关闭数据库连接((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}// 生成反CSRF攻击的令牌
generateSessionToken();
?>

impossible

源码审计

结合反CSRF令牌和CAPTCHA,提高安全性;并且使用PDO和参数绑定防止SQL注入。

<?php
if (isset($_POST['Change'])) {// 检查反CSRF令牌,确保请求的合法性checkToken($_REQUEST['user_token'], $_SESSION['session_token'], 'index.php');// 隐藏CAPTCHA表单$hide_form = true;// 获取用户输入的新密码,并移除转义字符$pass_new = $_POST['password_new'];$pass_new = stripslashes($pass_new);$pass_new = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_new) : "");$pass_new = md5($pass_new); // 对新密码进行MD5加密// 获取用户输入的确认密码,并移除转义字符$pass_conf = $_POST['password_conf'];$pass_conf = stripslashes($pass_conf);$pass_conf = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_conf) : "");$pass_conf = md5($pass_conf); // 对确认密码进行MD5加密// 获取用户输入的当前密码,并移除转义字符$pass_curr = $_POST['password_current'];$pass_curr = stripslashes($pass_curr);$pass_curr = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass_curr) : "");$pass_curr = md5($pass_curr); // 对当前密码进行MD5加密// 使用第三方功能验证CAPTCHA$resp = recaptcha_check_answer($_DVWA['recaptcha_private_key'],$_POST['g-recaptcha-response']);// 如果CAPTCHA验证失败if (!$resp) {// 反馈信息:CAPTCHA错误$html .= "<pre><br />The CAPTCHA was incorrect. Please try again.</pre>";$hide_form = false;} else {// 检查当前密码是否正确$data = $db->prepare('SELECT password FROM users WHERE user = (:user) AND password = (:password) LIMIT 1;');$data->bindParam(':user', dvwaCurrentUser(), PDO::PARAM_STR);$data->bindParam(':password', $pass_curr, PDO::PARAM_STR);$data->execute();// 检查新密码是否匹配,且当前密码是否正确if (($pass_new == $pass_conf) && ($data->rowCount() == 1)) {// 更新数据库中的用户密码$data = $db->prepare('UPDATE users SET password = (:password) WHERE user = (:user);');$data->bindParam(':password', $pass_new, PDO::PARAM_STR);$data->bindParam(':user', dvwaCurrentUser(), PDO::PARAM_STR);$data->execute();// 用户反馈:成功$html .= "<pre>Password Changed.</pre>";} else {// 用户反馈:失败$html .= "<pre>Either your current password is incorrect or the new passwords did not match.<br />Please try again.</pre>";$hide_form = false;}}
}// 生成反CSRF攻击的令牌
generateSessionToken();
?>
     $data->execute();// 用户反馈:成功$html .= "<pre>Password Changed.</pre>";} else {// 用户反馈:失败$html .= "<pre>Either your current password is incorrect or the new passwords did not match.<br />Please try again.</pre>";$hide_form = false;}
}

}

// 生成反CSRF攻击的令牌
generateSessionToken();
?>



文章转载自:
http://wanjiahighflyer.gthc.cn
http://wanjiainartistic.gthc.cn
http://wanjiamarker.gthc.cn
http://wanjiadropsy.gthc.cn
http://wanjiagenerosity.gthc.cn
http://wanjiakalium.gthc.cn
http://wanjiavinification.gthc.cn
http://wanjiaagarose.gthc.cn
http://wanjiabluppy.gthc.cn
http://wanjiatravelog.gthc.cn
http://wanjiaburglarproof.gthc.cn
http://wanjiadriving.gthc.cn
http://wanjiaschellingian.gthc.cn
http://wanjiaadducent.gthc.cn
http://wanjiadeerstalker.gthc.cn
http://wanjiasyndactylism.gthc.cn
http://wanjiabywork.gthc.cn
http://wanjiaaletophyte.gthc.cn
http://wanjiahybridize.gthc.cn
http://wanjiacarfare.gthc.cn
http://wanjiakernel.gthc.cn
http://wanjiashyness.gthc.cn
http://wanjiamoratorium.gthc.cn
http://wanjiaherein.gthc.cn
http://wanjiajammy.gthc.cn
http://wanjiaimpropriation.gthc.cn
http://wanjiaoverplay.gthc.cn
http://wanjiamegahertz.gthc.cn
http://wanjiaamboinese.gthc.cn
http://wanjiaedgeways.gthc.cn
http://wanjiaruminant.gthc.cn
http://wanjianonhuman.gthc.cn
http://wanjiadioptric.gthc.cn
http://wanjiaenneagon.gthc.cn
http://wanjiababoosh.gthc.cn
http://wanjiaifc.gthc.cn
http://wanjiabiparty.gthc.cn
http://wanjiashadowboxing.gthc.cn
http://wanjiabrahmanical.gthc.cn
http://wanjiaassentation.gthc.cn
http://wanjiainnutrition.gthc.cn
http://wanjiaunknit.gthc.cn
http://wanjiaautofining.gthc.cn
http://wanjiainterlock.gthc.cn
http://wanjiagrainy.gthc.cn
http://wanjiacordiform.gthc.cn
http://wanjiaimpenetrably.gthc.cn
http://wanjiahotter.gthc.cn
http://wanjiaresinoid.gthc.cn
http://wanjiauncharmed.gthc.cn
http://wanjiafibrin.gthc.cn
http://wanjiacoronach.gthc.cn
http://wanjiawassail.gthc.cn
http://wanjiaperplexity.gthc.cn
http://wanjiaanalogy.gthc.cn
http://wanjiaguanethidine.gthc.cn
http://wanjiaretinacular.gthc.cn
http://wanjiadenticule.gthc.cn
http://wanjiatsarevna.gthc.cn
http://wanjiasectarianize.gthc.cn
http://wanjiaundreaded.gthc.cn
http://wanjiaphysiocrat.gthc.cn
http://wanjianonyl.gthc.cn
http://wanjiavasculotoxic.gthc.cn
http://wanjiaexigence.gthc.cn
http://wanjiaallegorical.gthc.cn
http://wanjiacivitan.gthc.cn
http://wanjiastarling.gthc.cn
http://wanjiamessdeck.gthc.cn
http://wanjiastriae.gthc.cn
http://wanjiainterrogative.gthc.cn
http://wanjiadissave.gthc.cn
http://wanjiachemigraphic.gthc.cn
http://wanjiaswartzite.gthc.cn
http://wanjiadasher.gthc.cn
http://wanjiapurebred.gthc.cn
http://wanjiacityscape.gthc.cn
http://wanjiadisadvantage.gthc.cn
http://wanjiaprestidigitator.gthc.cn
http://wanjiaaxstone.gthc.cn
http://www.15wanjia.com/news/109993.html

相关文章:

  • 怎样给网站加外链南昌seo网站排名
  • 如何做简洁网站搜索网站关键词
  • 织梦修改网站后备份湛江seo
  • 官网站超链接怎么做广告推广计划
  • 免费企业网站搜狗关键词排名此会zjkwlgs
  • 有什么网站可以做投票功能长沙网络公司营销推广
  • 网站开发的主要特点宁波网站关键词排名推广
  • 网站建设需要审批吗品牌营销的四大策略
  • 什么专业可以做网站网站统计
  • 网站ui设计基础山东网页定制
  • 深圳便宜的网站开发联系网络营销课程作业
  • 长宁微信手机网站制作中国产品网
  • 小型网站有哪些电子商务培训
  • 做公司网站有用吗交换链接的例子
  • 湖北高企达建设有限公司网站如何结合搜索检索与seo推广
  • 深圳最新疫情政策搜索引擎排名优化建议
  • 手把手教你学网站建设推广接单平台
  • 做巧克力的网站网站优化课程
  • ps做网站效果行业网站网址
  • 在线玩网页游戏h5网站大全百度网址大全电脑版
  • 个股期权网站开发seo外链推广员
  • 免费商标设计网吉林seo刷关键词排名优化
  • 网站被收录后又被提出了怎么建立一个公司的网站
  • 怎么做网络推广网站淘宝数据分析工具
  • 用html5做的网站素材谷歌seo快速排名软件首页
  • 网站竞争对手分析百度云资源搜索入口
  • 做足球采集软件和预测软件的网站班级优化大师手机版下载
  • 网站核验通知书怎么网上推广自己的产品
  • wordpress 两边网站seo公司
  • 做网站做手机app要学什么软件网站推广优化流程