关于 JSONP 及 CORS 绕过同源策略的原理解释

JSONP 跨域

JSONP 的全名叫做 JSON Padding

  • 其出现的目的不是为了解决跨域问题,而是在 HTML 中的 Javascript 调用出现的历史遗留问题
    1
    <script src=http://127.0.0.1/func.js?call=callfunc></script>
    这样形式的 src 远程调用,会自动绕过同源策略的限制,直接访问远程的 func.js 文件中的 callfunc 函数,并供 JS 在后续解析为 JSON 格式进行返回

而之所以叫 JSON Padding,是因为例如如下的简单实现,访问完远端 JS 文件中的 callfun 函数后(或称之为 API 后),远程的内容返回到该 HTML 文件的格式为使用 JSON 的数据封装(例如这种格式:callback({"name":"hax","gender":"Male"})

Read more

Ranger Custom Settings

Basic

If you want to custom your ranger,you should do the below changes:

1
2
3
4
5
# In your .zshrc
export RANGER_LOAD_DEFAULT_RC=false

# In the console
ranger --copy-config=all

then,you’ll see the default configretion in .config/ranger folder,also the rc.conf

filename Description
rc.conf The ranger configuration
rifle.conf The default application to open a file
scope.sh Define how to scope a file in ranger
commands.py Custom the commands in ranger
Read more

详解 php 封装协议

概述

PHP: 支持的协议和封装协议 - Manual

  • PHP 带有很多内置 URL 风格的封装协议,可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。

  • 各个封装协议是否能使用取决于 php.ini 里 allow_url_includeallow_url_fopen 的参数设置情况。

Read more

MacOS Custom Settings

命令行看星战

1
telnet towel.blinkenlights.nl

Homebrew

三条命令安装 Homebrew

1
/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"
1
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
1
eval "$(/opt/homebrew/bin/brew shellenv)"
Read more

Four Phishing Scenes Demo Manual

BadUSB Phishing CS released

Use the tool Digispark, shaped like a USB memory stick, and use the Arduino compilation to burn programs into it.

Install Arduino debugging software

  1. Open the Arduino website Arduino - Home and click Software.

image.png

Read more