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

网站建设与网页设计...建网赌网站流程

网站建设与网页设计...,建网赌网站流程,广州安全教育平台官网,无人在线观看高清视频单曲直播[网络安全]DVWA之XSS#xff08;Stored#xff09;攻击姿势及解题详析合集 XSS(Stored)-low level源代码姿势基于Message板块基于Name板块 XSS(Stored)-medium level源代码姿势双写绕过大小写绕过Xss标签绕过 XSS(Stored)-high level源代码姿势#xff1a;Xss标签绕过 XSS(S… [网络安全]DVWA之XSSStored攻击姿势及解题详析合集 XSS(Stored)-low level源代码姿势基于Message板块基于Name板块 XSS(Stored)-medium level源代码姿势双写绕过大小写绕过Xss标签绕过 XSS(Stored)-high level源代码姿势Xss标签绕过 XSS(Stored)-Impossible level源代码代码审计 总结 免责声明本文仅分享XSS攻击相关知识不承担任何法律责任。 DVWA请读者自行安装本文不再赘述。 XSS(Stored)-low level 源代码 ?phpif( isset( $_POST[ btnSign ] ) ) {// 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)) ? : ));// Sanitize name input$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)) ? : ));// Update database$query INSERT INTO guestbook ( comment, name ) VALUES ( $message, $name );;$result mysqli_query($GLOBALS[___mysqli_ston], $query ) or die( pre . ((is_object($GLOBALS[___mysqli_ston])) ? mysqli_error($GLOBALS[___mysqli_ston]) : (($___mysqli_res mysqli_connect_error()) ? $___mysqli_res : false)) . /pre );//mysql_close(); }? trim() 函数移除字符串两侧的空格以确保数据在插入到数据库时没有多余的空白字符。 使用 stripslashes() 函数去除反斜杠同时使用 mysqli_real_escape_string() 函数转义特殊字符。 使用 mysqli_real_escape_string() 函数将特殊字符转义为它们的 Unicode 编码以确保它们不会被视为 SQL 语句的一部分。 从源代码来看它没有明确的防御 XSS 攻击的措施。 姿势 基于Message板块 Payloadscriptalert(qiu)/script 基于Name板块 Name只允许输入八个字符而XSS语句是比八个字符长的。 绕开长度限制 \color{#00FF00}{绕开长度限制} 绕开长度限制 将页面Name元素的maxlength改为100 Payloadscriptalert(qiu)/script XSS(Stored)-medium level 源代码 ?phpif( isset( $_POST[ btnSign ] ) ) {// Get input$message trim( $_POST[ mtxMessage ] );$name trim( $_POST[ txtName ] );// Sanitize message input$message strip_tags( addslashes( $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 str_replace( script, , $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)) ? : ));// Update database$query INSERT INTO guestbook ( comment, name ) VALUES ( $message, $name );;$result mysqli_query($GLOBALS[___mysqli_ston], $query ) or die( pre . ((is_object($GLOBALS[___mysqli_ston])) ? mysqli_error($GLOBALS[___mysqli_ston]) : (($___mysqli_res mysqli_connect_error()) ? $___mysqli_res : false)) . /pre );//mysql_close(); } ? 对留言内容 $message 进行了三种过滤 使用 strip_tags() 函数移除所有 HTML 和 PHP 标签使用 addslashes() 函数将字符串中的特殊字符转义例如单引号、双引号和反斜杠使用 htmlspecialchars() 函数将message中特殊字符例如 转换为相应的 HTML 实体以防止 XSS 攻击。 对姓名 $name 进行了两种过滤 使用 str_replace() 函数将字符串中的script替换为空字符串使用 mysqli_real_escape_string() 函数转义字符串中的特殊字符例如单引号和双引号以防止 SQL 注入攻击。 姿势 双写绕过 以message为注入点Payloadscripscripttalert(1)/scrscriptipt 无回显原因htmlspecialchars() 函数将message中的特殊字符例如 转换为相应的 HTML 实体 以Name为注入点 大小写绕过 由于str_replace() 函数对大小写敏感可通过大小写绕过限制。 以Name为注入点PayloadScriptalert(1)/sCript Xss标签绕过 由于针对Name的str_replace() 函数只对script起过滤作用因此可使用不同的Xss标签进行绕过。 以Name为注入点Payloadimg src1 onerroralert(1) XSS(Stored)-high level 源代码 ?phpif( isset( $_POST[ btnSign ] ) ) {// Get input$message trim( $_POST[ mtxMessage ] );$name trim( $_POST[ txtName ] );// Sanitize message input$message strip_tags( addslashes( $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 preg_replace( /(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i, , $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)) ? : ));// Update database$query INSERT INTO guestbook ( comment, name ) VALUES ( $message, $name );;$result mysqli_query($GLOBALS[___mysqli_ston], $query ) or die( pre . ((is_object($GLOBALS[___mysqli_ston])) ? mysqli_error($GLOBALS[___mysqli_ston]) : (($___mysqli_res mysqli_connect_error()) ? $___mysqli_res : false)) . /pre );//mysql_close(); }? 对留言内容 $message 进行了三种过滤 使用 strip_tags() 函数移除所有 HTML 和 PHP 标签使用 addslashes() 函数将字符串中的特殊字符转义例如单引号、双引号和反斜杠使用 htmlspecialchars() 函数将特殊字符如 转换为相应的 HTML 实体以防止 XSS 攻击 对姓名 $name 进行了两种过滤 使用 preg_replace() 函数将字符串中的 script 替换为空字符串使用mysqli_real_escape_string() 函数转义字符串中的特殊字符例如单引号和双引号以防止 SQL 注入攻击。 姿势Xss标签绕过 切换 X S S 标签 \color{#FF00FF}{切换XSS标签} 切换XSS标签 以Name为注入点Payloadimg src1 onerroralert(1) 以Name为注入点Payloadaudio src1 onerroralert(1) XSS(Stored)-Impossible level 源代码 ?phpif( 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();? 代码审计 if( isset( $_POST[ btnSign ] ) ) {该行通过 isset() 函数判断 PHP 脚本是否是由提交按钮 btnSign 触发的。如果是则执行后续代码。 接着代码调用了 checkToken() 函数用于验证 Anti-CSRF token 是否匹配 checkToken( $_REQUEST[ user_token ], $_SESSION[ session_token ], index.php );这个函数需要三个参数用户提交的 CSRF token、服务器存储的 CSRF token 和当前页面的 URL。函数会检查两个 token 是否相同以及请求是否来自于正确的来源从而避免跨站点攻击。 接下来的代码获取了用户输入的姓名和留言信息 $message trim( $_POST[ mtxMessage ] ); $name trim( $_POST[ txtName ] );trim() 函数移除字符串两侧的空格。这样可以确保数据在插入到数据库时没有多余的空白字符。 然后使用 stripslashes() 函数去除反斜杠同时使用 mysqli_real_escape_string() 函数转义特殊字符 $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 );$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 );mysqli_real_escape_string() 将特殊字符转义为 Unicode 编码。 最后使用 htmlspecialchars() 函数对用户输入的数据进行 HTML 编码以防止 XSS 攻击。该函数将 HTML 特殊字符转义为实体从而避免恶意代码在浏览器中执行。 接下来的代码使用 PDO 对用户数据进行插入 $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();$db 是一个预先创建的 PDO 数据库连接。这个代码段使用了 PDO 的预准备语句prepared statement功能这是一种避免 SQL 注入攻击的最佳方法之一。使用 bindParam() 函数将实际插入的值与数据库字段绑定起来确保即使用户输入包含非法字符也不会对 SQL 查询产生影响。 最后调用 generateSessionToken() 函数来生成 Anti-CSRF token generateSessionToken();这个函数采用某些规则生成随机的 session_token并将其存储在 PHP 会话中。 总结 以上为[网络安全]DVWA之XSS(Reflected)攻击姿势及解题详析合集读者可躬身实践。 [网络安全]DVWA之XSS合集 [网络安全]DVWA之XSS(DOM)攻击姿势及解题详析合集 [网络安全]DVWA之XSS(Reflected)攻击姿势及解题详析合集 我是秋说我们下次见。
http://www.dnsts.com.cn/news/83296.html

相关文章:

  • 抚州市建设局招标办网站校园网站建设招标公告
  • 网站外包建设 请示做网站的程序员留备份
  • 品牌网站建设毛尖c合肥建设工程市场价格信息
  • 南京网站建设哪里好sem托管公司
  • 环保主题静态网站模板个人怎么做课程网站
  • godaddy如何创建网站自动生成作文网站
  • 网站的点击率浙江省建设厅网站如何查安全员
  • 做婚纱影楼网站的价格自己的商标名称可以做网站名称吗
  • 做国外网站的零售百度权重高的网站有哪些
  • seo是哪个英文的缩写全能优化型网站
  • 建设网站有哪些短视频
  • 网站建设合同 售后维护期平台和自建网站服务提供者
  • 网站标签设置杭州网站优化多少钱
  • 网站抓取qq做个网站需要多少钱.
  • 网站注册域名与制作个人网站制作 教程
  • 江苏永坤建设有限公司网站网站太花哨
  • 可以做网络攻防的实验的网站安全员考试报名官网
  • 优秀的网站设计方案科技型中小企业怎么认定
  • 做wd网站实训报告总结设计网页布局的常用方法有哪三种
  • 吉林省建设通官方网站竞价网
  • 电子商务网站建设成都小程序定制公司
  • 百度注册域名免费建站家里的网络用哪个公司
  • 方城微网站开发黄岛网站建设价格
  • 织梦网站设计机关单位建设网站 说明
  • 关于备案空壳网站清理通知创可贴设计网
  • 做跨境电商的网站长春火车站到龙嘉机场动车时刻表
  • 创建企业网站经过哪些步骤wordpress手机端兼容自定义页面
  • 网站建设违约责任濮阳市住房和城乡建设局网站
  • 如何让订阅号菜单做微网站株洲 网站建设 公司
  • 关于网站建设的建议百度一下你就知道原版