HTML与javascript自解码机制

关于这个自解码机制,我们直接以一个例子来进行说明:
样例0:

<input type="button" id="exec_btn" value="exec" οnclick="document.write ('<img src=@ οnerrοr=alert(123) />')" />

我们假设document.write里的值是用户可控的输入,点击后,document.write出现一段img HTML,onerror里的JavaScript会执行。此时陷阱来了,我们现在提供一段HtmlEncode函数如下
样例A:

<script>
function HtmlEncode(str) {
    var s = "";
    if (str.length == 0) return "";
    s = str.replace(/&/g, "&");
    s = s.replace(/</g, "<");
    s = s.replace(/>/g, ">");
    s = s.replace(/\"/g, """);
    return s;
}
</script>
<input type="button" id="exec_btn" value="exec" οnclick="document.write (HtmlEncode('<img src=@ οnerrοr=alert(123) />'))" />

我们知道HtmlEncode('<img src=@ οnerrοr=alert(123) />')后的结果是:

<img src=@ οnerrοr=alert(123) />

这个样例A点击后会执行alert(123)吗?下面这个呢?
样例B:

<input type="button" id="exec_btn" value="exec" οnclick="document.write ('<img src=@ οnerrοr=alert(123) />)" />

在样例A和样例B中,document.write的值似乎是一样的?实际结果是样例A点击不会执行alert(123),而是在页面上完整地输出<img src=@ οnerrοr=alert(123) />,而样例B点击后会执行alert(123)。
阅读全文

简单的Linux定时任务——crontab

执行一个脚本直接bash sh就可以,但如果想定期执行任务的话,就得用上crontab了。


crontab在debian中是自带的。一般都是自动启用。

常用功能:
crontab -e 编辑任务
crontab -l 查看任务

crontab -e会出现一个文本文件,第一次使用的时候会要求你选择一个编辑器,随意选择一个顺手的即可。

文本文档可能会出现已有的定时任务,例如acme的脚本:
24 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null

这一条就是一个计划任务,代表着每天0点24分执行一次acme的脚本。

具体的时间设定可以参考这幅图:
在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
阅读全文

如何开一个小小的minecraft服务器

mc服务器是可以在linux下跑的,所以这就为在vps下运行提供了可能性。

mc的服务端版本很多,分别由不同的方式实现。具体区别可以参考这里

1、从客户端开始

现在主流是使用forge客户端,因为这个东西打mod方便。
我使用的是基于1.12.2版本的forge客户端,首先在这里下了一个基础整合包。

打上需要的mod,我需要的mod是
建筑师工艺
家具
一键砍树

下载好的jar文件直接丢到mods文件夹中即可。
有兴趣也可以自己找资源包,对应的是放在resourcepacks文件夹中,不需要解压。

阅读全文

Splunk语法小记

Splunk 是面向云的日志搜索引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备(物理、虚拟和云中)生成的log。


功能特性

  1. 多平台支持
  2. 从任意源索引任意数据
  3. 从远程系统转发数据
  4. 关联复杂事件
  5. 专为大型数据构建
  6. 在整个数据中心扩展
  7. 提供角色型的安全性

阅读全文

Debian系Swap虚拟内存设置

1、创建一个 文件作为swap区:

dd if=/dev/zero of=/swapfile1 bs=1024 count=2000000

名字为/swapfile1 大小为bs*count = 1024*2000000=2G,count代表的是大小,我这里是2G。

2、将其转化为swap文件:

mkswap /swapfile1

3、将其改为只有root权限才能修改:

chown root:root /swapfile1
chmod 0600 /swapfile1

4、将其激活:

swapon /swapfile1

阅读全文

shadowsockR与V2ray的使用方法

SSR简易教程如下:

输入以下代码运行脚本

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

按1安装SSR,设置端口,密码,加密方式等等。

V2ray简易教程如下:

不会简易的,好好看教程吧

阅读全文