suyumen
目前主要在学习web相关

SUYUMEN

---在学了在学了qaQ---
shell脚本相关

临阵磨枪一下,基本语法不写了。

Linux开机流程

引导分区后涉及到/etc/inittab的配置,默认情况下runlevel是3,如果存在有执行权限的用户自定义脚本rc.local的话,会执行这个。而不满足上述的情况时,执行rc3.d的对应服务,位于init.d文件夹中。


shiro框架

最近才意识到,要想迅速地有代码审计的能力(起码看得懂别人写的是个啥),从语言一点点学起实在是杯水车薪,感觉比较好的方法是稍微学习一下各种框架,起码能够知道系统的各部分的功能逻辑对应在代码文件夹的哪个文件里,以及相应的安全的防护是在哪里以什么逻辑做的,一方面有助于自己开发的时候灵活地选用框架,另一方面也可以迅速地了解一些不太熟悉的语言。


Apache Shiro

Java的一个安全权限框架。

用法

  • 获取当前subject

SecurityUtils.getSubject()

  • 测试session

subject#getSession()获取session

subject#isAuthenticated()判断是否已经认证

没有认证的话封装token,setRememberMe

默认配置文件账号密码为“lonestarr”,“vespa”


CVE-2020-7699复现

漏洞简介

  • 漏洞名称:NodeJS模块代码注入
  • 影响范围:express-fileupload < 1.1.8
  • 漏洞类型:原型污染
  • 描述:express-fileupload组件提供了在nodejs应用中上传和管理文件的多个选项,其中parseNested负责将参数降维。

CVE-2021-1647复现

二进制安全一窍不通啊,写逆向作业还费劲呢就要复现这个真是难为我啊呜呜。

漏洞简介

  • 漏洞名称:Microsoft Defender缓冲区溢出漏洞
  • 漏洞编号:CVE-2021-1647
  • 漏洞类型:堆溢出
  • 漏洞影响:远程代码执行
  • CVSS:7.8 HIGH
  • 利用难度:中等
  • 基础权限:不需要

CVE-2021-21315复现

漏洞简介

  • 漏洞名称:Node.js命令注入漏洞
  • 影响范围:Systeminformation < 5.3.1
  • CVSSv3评分:7.8
  • 漏洞类型:命令注入
  • 描述:systeminformation是用于获取各种系统信息的Node.JS模块,它包含多种轻量级功能,可以检索详细的硬件和系统相关信息,自发布至今,软件包下载次数近3400万。

部分古典密码实现
  • 加密:仿射密码加密结果为:[14,25,18]

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const p = [7, 14, 19];
    const k = [9, 3];
    let value = [];

    function encode(p, k, value) {//加密
    let l = p.length;
    for (let i = 0; i < l; i++) {
    value.push((p[i] * k[0] + k[1]) % 26);
    }
    }

    encode(p, k, value);
    console.log("仿射密码加密结果为:[" + value.toString() + "]");

湖湘杯2021final-vote

附件给了源码,查看package.json信息,使用了flat,版本5.0.0,存在原型链污染;pug版本3.0.0,可以模板注入。


小记

前言

众所周知,今天是双十一(而且有拟态的决赛),但是今天我在写博客,因为我没有钱。为什么我没有钱,究其原因,就是因为我太菜了,非学无以广才,所以我要写博客。

由于昨天分析到,自己不出题的情况,我进行了慎重的构思,并决定为题目中出现的代码审计的入手点做一个简要的总结,为什么简要,是因为我刷过的题就像我的水平一样,很少。


javascript原型链污染

前言

这个知识点涉及到的是好久以前的某些题,但是我压根就没看,不是因为我懒的看,而是因为那些比赛好多题,我都不会,所以都轮不到它们。


js原型链污染

文章参考:https://www.leavesongs.com/PENETRATION/javascript-prototype-pollution-attack.html

原型

为了创建类方法,使用原型prototype。可以视原型prototype是类的一个属性,而所有此类实例化的对象,都将拥有这个属性中的所有内容,包括变量和方法。


2021祥云杯cralwer_z

最近的比赛都很有意思,大家的博客也很有意思;但是我没有意思,因为比赛题我都不会做。今天有拟态的决赛,但是为什么我在写博客,就是因为看了题,第一步就被那个我不认识也不认识我的编码难住了,而且我也不想抢了同队大佬们的vpn,阻挡了他们30万奖金的道路。

于此同时,我也学习到了一个小小的知识点:虽然我没有抢大佬们的vpn,但vpn确实是可以抢占的。以及昨天因为初次接触拟态防御这个概念,特意写了一篇(不是很明白的)调研报告,以多了解这个技术(以当作我的web开发课作业)。

所以看看以前的比赛题。

这个祥云杯比赛的题对我而言都好新呐(指都不会做)。

言归正传,在看各种wp的过程中,我发现这个解题链应当是“危险函数–>代码审计”,就是先找危险函数,找不到再整体审计。然而对于不知道有什么危险函数的我来说,任何题的流程都是“代码审计”。很明显,让我代码审计,就像是让我舍友宝琪姐姐不说话了一样————“开玩笑”。