官方中文手册:PHP: PHP 手册 - Manual
使用了 PHP 的 web 页面将被和通常的 HTML 页面一样处理,可以用通常建立 HTML 页面的方法来建立和编辑它们。
基本语法
PHP 脚本可以放在文档中的任何位置。
PHP 脚本以 结束:
PHP 文件的默认文件扩展名是 “.php”。
PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码。
下面,我们提供了一个简单的 PHP 文件实例,它可以向浏览器输出文本 “Hello World!”:
1 2 3 4 5 6 7 8 9 10 11
| <!DOCTYPE html> <html> <body> <h1>My first PHP page</h1> <?php echo "Hello World!" ; ?> </body> </html>
|
变量基础
$符号开头为变量。变量默认总是传值赋值。
1 2 3 4 5 6
| <?php $x=5; $y=6; $z=$x+$y; echo $z; ?>
|
在字符串中表示$需要转义。
在PHP中,函数名(自定义和内置的函数)、方法名、类名、关键字不区分大小写;但变量名区分大小写。
阅读全文
当有很多个命令行工具时,每一个都添加一个$PATH环境变量有点不优雅。于是首先想到的办法是往固定路径创建软链接,例如:~/.local/bin
。
但是,很多工具会根据当前工作路径来运行(例如生成配置文件),导致我们必须到工具所在路径下运行。因此我们可以创建脚本并传递命令行的参数来解决这两个问题。
接收命令行参数
手工处理
- $0 : 在用sh 或者 ./执行脚本时,指的是脚本名,用source或.执行时,永运是bash,这也反应了sh 或者 ./执行脚本的原理和source的方式是不同的.
- $1 : -v,第一个参数.
- $2 : -f
- $3 : -out
- $4 : /test.log
- 依次类推 $5 $6 …
- $# : 参数的个数,不包括命令本身,上例中$#为5.
- $@ : 参数本身的列表,也不包括命令本身,如上例为 -v -f -out /test.log –prefix=/home
- $* : 参数本身的列表,也不包括命令本身,但”$*” 和”$@”(加引号)并不同,”$*“将所有的参数解释成一个字符串,而”$@”是一个参数数组。如下例所示:
编写脚本
在固定路径中创建脚本,例如~/.local/bin/xxx
1 2 3
| #!/bin/zsh cd /path/to/program ./program_name $@
|
这样,就可以实现任意地方调用命令行工具。
第二种方法
阅读全文
无论是渗透测试还是逆向工程,移动安全都是一个重要的领域。在实际攻防过程中对移动端进行详尽的信息收集与渗透往往能大大扩展渗透测试的攻击面。
Android安全设计与架构
谷歌对Android系统的更新非常频繁,并且非常重视其安全性,因此如今的Android系统拥有非常多的安全机制。
Android总体架构分为5个层次:Android应用层,Android框架层,Dalvik虚拟机层,用户空间原生代码层,Linux内核层。
以下是来自 Android 开发人员网站的 Android 架构的图形表示:
Android应用层允许开发者无需修改底层代码就能对设备的功能进行扩展和提升,框架层提供大量的访问Android设备所需的API,两者都是由Java开发,并且在DalvikVM中运行。
DalvikVM是一种基于寄存器的虚拟机,为底层操作系统提供了一个高效的抽象层,可以解释执行Dalvik至此的(DEX)字节码,同时依赖于一些支持性原生代码程序库提供的功能。
Android流量分析
无安全防护的应用流量分析
阅读全文
之前一直使用WSL2,但是它存在几个问题:
- Windows需开启HyperV虚拟化平台,可能导致一定程度的性能损失
- vmware无法开启Intel VT-x虚拟化(使用Hyper-V API - 虚拟化),可能导致某些虚拟机运行缓慢。
- WSL2运行非原生完整Linux
- 无法连接宿主机USB等外接设备(或者很麻烦)
使用VMware
首先关闭WSL2,HyperV虚拟化平台等Windows功能,此处不赘述
在要长期运行的虚拟机目录创建一个bat脚本,内容如下:
1
| "D:\path\to\VMware Workstation\vmrun.exe" -T ws start "D:\path\to\ubuntu22.vmx" nogui
|
在本地组策略编辑器下新建登录脚本
进入powershell运行以下命令
阅读全文
接口
先重定向第二关的请求接口到第一关,开始游戏,所有关卡变成第一关,手动通关后抓包到通关接口
1
| http://cat-match.easygame2021.com/sheep/v1/game/game_over?rank_score=1&rank_state=1&rank_time=15&rank_role=1&skin=1
|
token
获取token始终没找到请求记录,于是通过对咩咩羊-羊了个羊小工具
的逆向工程得知以下过程:
游戏先请求user_info
接口查询uid
对应用户信息,然后通过响应的wx_open_id
请求login_oppo
接口获取token
uid
在游戏右上角设置里
脚本
修改次数和uid就可以跑了:
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 42 43 44
| import requests, json from threading import Thread
num = 100000
uid = 你的uid
print(f"用户uid: {uid}\n通关次数: {num}")
r = requests.get( f"https://cat-match.easygame2021.com/sheep/v1/game/user_info?uid={uid}", headers={ "t": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTAwMjA0MDIsIm5iZiI6MTY1ODkxODIwMiwiaWF0IjoxNjU4OTE2NDAyLCJqdGkiOiJDTTpjYXRfbWF0Y2g6bHQxMjM0NTYiLCJvcGVuX2lkIjoiIiwidWlkIjoxMDAwMDEsImRlYnVnIjoiIiwibGFuZyI6IiJ9.NQZAWBLYtq6hBff9YjNcaI2Soa6Z5vwbIU7YnjP1KBQ", }, ) wx_open_id = json.loads(r.text)["data"]["wx_open_id"]
r = requests.post( "https://cat-match.easygame2021.com/sheep/v1/user/login_oppo", data={"uid": wx_open_id, "nick_name": "14633282", "avatar": "123123123", "sex": 1}, ) token = json.loads(r.text)["data"]["token"]
def j(i): r = requests.get( url="http://cat-match.easygame2021.com/sheep/v1/game/game_over?rank_score=1&rank_state=1&rank_time=15&rank_role=1&skin=2", headers={ "Cookie": f"t={token}" }, ) if json.loads(r.text)["err_code"] == 0: print(f"{i}次通关") else: print(f"第{i}次通关失败!")
for i in range(num): t = Thread(target=j, args=[i]) t.start()
|
阅读全文
我的终端环境一直是用的zsh + oh-my-zsh + zsh-syntax-highlighting + zsh-autosuggestions + powerlevel10k
的配置。安装很简单,这里直接把shell放在一起方便复用。
Install
安装前的准备:你需要安装好git,并配置好git、apt、wget的代理或镜像源设置。
为配合powerlevel10k
的shell主题最好设置终端字体,详见 https://github.com/romkatv/powerlevel10k#Fonts
1 2 3 4 5 6 7 8
| sudo apt install zsh -y sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k sed -i 's/ZSH_THEME=".*"/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ~/.zshrc sed -i 's/plugins=(\(.*\))/plugins=(\1 zsh-syntax-highlighting zsh-autosuggestions)/' ~/.zshrc
|
阅读全文
前言
随身wifi,价格低廉,可以跑安卓、openwrt、debian
文章比较简略,感兴趣请参考底部链接
买的三个设备:
分别是uz801、ufi001c、ufi003_mb方案
便宜的随身 Wi-Fi 基本用的都是工模的方案,像是高通的 410、高通的 210、中兴微等方案,外观差别可能很大,内在或许都是同一种方案(同一种方案具体的板子也会有不同),当然也会有可能同一个商品发给买家不同的型号。我们这里使用的只能是高通骁龙410
的方案
板子上的丝印是 UFI001B、UFI001C、UFI003、UFI-W-001 最好,或者 SP970(不推荐,细分版本目前13个太多,基本要短接才能进 9008 模式,然后现在的 openwrt Wi-Fi 也有问题)、UZ801 也 OK;需要带卡槽、能切卡
。
大部分都是4gb存储,uz801有几率买到8gb版本。
备份
阅读全文