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

做intor的网站企业网站分析案例

做intor的网站,企业网站分析案例,网站后台登陆不了,服务商标目录 第09关 反射型XSS 1.打开靶场 2.源码分析 3.渗透实战 第10关 存储型XSS 1.打开靶场 2.源码分析 3.渗透实战 本系列为通过《Webug4.0靶场通关笔记》的渗透集合,本文为反射型和存储型XSS漏洞关卡的渗透部分,通过对XSS关卡源码的代码审计找到漏…

目录

第09关 反射型XSS

1.打开靶场

2.源码分析

3.渗透实战

第10关 存储型XSS

1.打开靶场

2.源码分析

3.渗透实战


本系列为通过《Webug4.0靶场通关笔记》的渗透集合,本文为反射型和存储型XSS漏洞关卡的渗透部分,通过对XSS关卡源码的代码审计找到漏洞的真实原因,讲解XSS漏洞的原理并进行渗透实践。

第09关 反射型XSS

  • 反射型 XSS:攻击者构造包含恶意脚本的 URL,诱使用户点击。用户点击链接后,恶意脚本随页面请求提交给服务器,服务器处理后将脚本反射回客户端浏览器,由浏览器解析并执行,整个过程类似 “客户端 — 服务器 — 客户端” 的反射,恶意脚本不存储在服务器。
  • 存储型 XSS:攻击者将恶意脚本提交到目标网站的数据库或文件中,如在论坛发帖、评论、留言等操作时注入。当用户访问包含该恶意脚本的页面时,脚本从服务器被加载到客户端浏览器并执行。

1.打开靶场

打开反射型靶场,如下所示此关卡有flag

反射型XSS的网址如下所示

http://192.168.71.1/webug4/control/xss/xss_1.php?id=1

根据url可知参数为id=1,如下图红框所示,1输出在页面中,那么可以从id的参数入手尝试注入

 随手将参数修改为id=2,如下所示输出在页面中

尝试将id改为字符串,发现完整字符串输出在页面中,猜测存在xss漏洞,可能输入内容未加过滤直接输出

2.源码分析

如下所示,参数id包含alert时将flag复制到cookie中

<?phprequire_once "../../common/common.php";
if (!isset($_SESSION['user'])) {header("Location:../login.php");
}
setcookie("flag", "", time() - 1);
if (isset($_GET["id"])) {if (!empty($_GET["id"])) {if (strstr($_GET['id'], 'alert')){$sql = "SELECT * FROM env_list WHERE id = 9";$res = $dbConnect->query($sql);$row = mysqli_fetch_assoc($res);setcookie("flag", $row['envFlag']);}}
}
require_once TPMELATE."/xss_1.html";

这段代码是一个存在反射型XSS漏洞的PHP脚本,主要逻辑如下:

  • 检查用户是否登录(未登录则跳转至登录页)。

  • 清除名为flag的Cookie(但未设置安全属性)。

  • 检查id参数是否存在且非空,若包含alert字符串,则查询数据库并设置flag Cookie(存储敏感信息)。

  • 最终加载模板文件xss_1.html,但未对id参数进行任何输出编码或严格过滤。

 据此,我们如果想获取到flag,需要将cookie提取出来,也就是通过document.cookie获得,这时候可以通过反射型注入语句获取,即<script>alert(document.cookie)</script>

3.渗透实战

构造包含alert的获取cookie的XSS注入命令

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

完整url注入为

http://192.168.71.1/webug4/control/xss/xss_1.php?id=<script>alert(document.cookie)</script>

渗透结果如下

如上所示,获取到

flag=fsdafasdfas

 提交到系统中

 提示正确,本关卡渗透成功

第10关 存储型XSS

1.打开靶场

 打开反射型靶场,如下所示此关卡有flag

反射型XSS的网址如下所示

http://192.168.71.1/webug4/control/xss/xss_2.php

页面打开后如下所示

该界面具有迷惑性,鼠标一直向下滑会出现留言板界面, 根据经验这很可能是存储型XSS漏洞如下所示

2.源码分析

如下所示对传入的参数message进行处理

<?phprequire_once "../../common/common.php";
if (!isset($_SESSION['user'])) {header("Location:../login.php");
}
setcookie("xss2_flag", "", time() - 1);
if (isset($_POST["message"])) {if (!empty($_POST["message"])) {$filter = array('insert', 'update', 'select', 'delete', 'from');$message = strtolower(trim($_POST["message"]));$userId = $_SESSION['user'];if (in_array($message, $filter)) {echo "<script>alert('Please don\'t try to deposit dangerous characters')</script>";exit();}else{if (strstr($message, "alert")) {$s = "SELECT * FROM env_list WHERE id = 10";$r = $dbConnect->query($s);$w = mysqli_fetch_assoc($r);setcookie("xss2_flag", $w['envFlag']);}$sql = "INSERT INTO storage_xss(content, userId) VALUES('{$message}', '{$userId}')";$res = $dbConnectWidth->query($sql);}}
}$sql1 = "SELECT * FROM storage_xss WHERE userId = '".$_SESSION['user']."'";
$res1 = $dbConnectWidth->query($sql1);
require_once TPMELATE."/xss_2.html";

代码实现了一个简单的留言存储功能,主要逻辑包括:

  • 检查用户登录状态,未登录则跳转

  • 清除名为xss2_flag的Cookie

  • 接收用户提交的message参数,进行简单的SQL关键字过滤(如select/insert等),这个过滤是为避免二次SQL注入进行filter处理(不过这个代码卡法这写的有问题,因为in_array函数的处理有问题,实际上也等于没有这个函数,基本上也无法过滤)

  • 如果message包含"alert"则设置包含敏感信息的Cookie,即当message包含alert关键字时,将flag写入到cookie中

  • 将用户输入存储到数据库(将message信息存储到数据库中)并显示历史留言

如上所示存在存储型XSS注入,并可以通过将调用获取cookie的XSS注入语句实现注入,XSS漏洞主要原因包括:

  • 输入过滤不彻底:仅过滤部分SQL关键字(如select/insert)和"alert"字符串,未对HTML/JS特殊字符(如<>'")进行编码或过滤

  • 直接数据库存储:用户输入的原始message直接存入数据库,未做净化处理

  • 未输出编码:在xss_2.html模板中直接输出数据库内容时,未使用htmlspecialchars等函数进行编码

  • Cookie设置不安全setcookie未设置HttpOnly/Secure属性,易被XSS窃取

3.渗透实战

构造包含alert的获取cookie的XSS注入命令

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

在留言处进行注入并点击提交

如下所示,获取到flag

如上所示,flag获取成功

xss2_flag=asdfsdfadfsdrew

提交flag

渗透成功

http://www.dtcms.com/a/421412.html

相关文章:

  • 远涛网站建设江阴规划建设局网站
  • 长沙做网站开发多少钱中国经济网人事
  • 给个能看的网站公司图标大全
  • 更换dns能上国外网站吗做网站建设工资高吗
  • 美食网站开发的目的和意义重庆网站建设沛宣
  • 民治做网站哪家便宜珠海网站关键词推广
  • wordpress更新之后字体发生变化四川游戏seo整站优化
  • 建立诊断的步骤河南网站优化建设
  • 行业协会网站建设方案书用php做的博客网站有哪些
  • 海口网站建设方案有视频接口怎么做网站
  • 网站只做优化南通网站制作公司
  • 做网站对服务器什么要求高网站新备案不能访问
  • 织梦网站图片不显示怎么查看什么公司做的网站
  • 百度地图添加到网站推广渠道方式
  • 做彩票网站黑龙江省建设官方网站
  • 网站建设 工业 青岛各类网站排行
  • 深圳网站建设机构住房和城乡建设部网站造价
  • 建设房产网站上海公司注销
  • 网站改版建设情况的汇报怎么查询网站的点击量
  • 电商网站前端开发响应式网站 手机站
  • wordpress打开网站打不开网站模板素材怎么用
  • 赵朴初网站建设长安营销型网站建设
  • 移动端网站一般宽做多大备案网站名称与实际网站名称不一致
  • 扬州市江都区城乡建设局网站网址升级中
  • 跨境电商网站开发公司新媒体 网站建设 影视
  • 淮北专业三合一网站开发网站开发界面设计
  • 把网站提交给百度湖北网站建设哪里有
  • 天津网站建设系统建网站得钱吗
  • 广州网站建设o2o教做公众号的网站
  • 成都网站建设开发公wordpress图设置