时间从来不语,却回答了很多问题


post @ 2022-12-05

官方中文手册: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;
?>

在字符串中表示$需要转义。

1
system("c='ls'&&\$c");

在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 $@

这样,就可以实现任意地方调用命令行工具。

第二种方法

阅读全文


post @ 2022-11-06

无论是渗透测试还是逆向工程,移动安全都是一个重要的领域。在实际攻防过程中对移动端进行详尽的信息收集与渗透往往能大大扩展渗透测试的攻击面。

Android安全设计与架构

谷歌对Android系统的更新非常频繁,并且非常重视其安全性,因此如今的Android系统拥有非常多的安全机制。

Android总体架构分为5个层次:Android应用层,Android框架层,Dalvik虚拟机层,用户空间原生代码层,Linux内核层。

以下是来自 Android 开发人员网站的 Android 架构的图形表示:

image-20221106190835428

Android应用层允许开发者无需修改底层代码就能对设备的功能进行扩展和提升,框架层提供大量的访问Android设备所需的API,两者都是由Java开发,并且在DalvikVM中运行。

DalvikVM是一种基于寄存器的虚拟机,为底层操作系统提供了一个高效的抽象层,可以解释执行Dalvik至此的(DEX)字节码,同时依赖于一些支持性原生代码程序库提供的功能。

Android流量分析

无安全防护的应用流量分析

阅读全文


post @ 2022-10-16

理论指导实践

PTES(渗透测试执行标准)

The Penetration Testing Execution Standard

以下是PTES为渗透测试执行基础的主要部分:

  1. 事前互动
  2. 信息收集
  3. 威胁建模
  4. 漏洞分析
  5. 漏洞利用
  6. 深度利用
  7. 书面报告

通用渗透测试框架

  1. 范围界定
  2. 信息收集
  3. 目标识别
  4. 服务枚举
  5. 漏洞映射
  6. 社会工程学
  7. 漏洞利用
  8. 权限提升
  9. 访问维护(后门持久化)
  10. 文档报告

image-20221016211744206

渗透测试流程

信息收集

阅读全文


post @ 2022-10-04

Sqli-labs

项目地址:Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based.

环境信息:MySQL8.0.12,Nginx1.15.11,php5.6.9nts

参考文章:sqli-labs 通关详解(sql注入知识点整理)_51CTO博客_sqli-labs注入天书

Less-1

最基础的字符注入,可以使用如下语句来获取数据库信息:

测试是否有注入,存在报错

1
http://127.0.0.1/Less-1/?id='

测试注入

1
http://127.0.0.1/Less-1/?id=1' or 1=1 --+
阅读全文


post @ 2022-09-30

Upload-labs

项目地址:https://github.com/c0ny1/upload-labs

上传漏洞类型

image-20221001005305992

靶机包含漏洞类型分类

image-20221001005001448

文件上传漏洞测试流程

  1. 对文件上传的地方按照要求上传文件,查看返回结果(路径,提示等)
  2. 尝试上传不同类型的“恶意文件”,比如xx.php文件,分析结果
  3. 查看html源码,看是否通过js在前端做了上传限制,可以绕过
  4. 尝试使用不同方式进行绕过:黑名单绕过/MIME类型绕过/目录0x00截断绕过等
  5. 猜测或者结合其他漏洞(比如敏感信息泄露等)得到木马路径,连接测试

参考文章:

upload-labs通关记录_mb5ff2f1c4b5e55的技术博客_51CTO博客

阅读全文


之前一直使用WSL2,但是它存在几个问题:

  1. Windows需开启HyperV虚拟化平台,可能导致一定程度的性能损失
  2. vmware无法开启Intel VT-x虚拟化(使用Hyper-V API - 虚拟化),可能导致某些虚拟机运行缓慢。
  3. WSL2运行非原生完整Linux
  4. 无法连接宿主机USB等外接设备(或者很麻烦)

使用VMware

首先关闭WSL2,HyperV虚拟化平台等Windows功能,此处不赘述

在要长期运行的虚拟机目录创建一个bat脚本,内容如下:

1
"D:\path\to\VMware Workstation\vmrun.exe" -T ws start "D:\path\to\ubuntu22.vmx" nogui

在本地组策略编辑器下新建登录脚本

image-20220925180356789

image-20220925180415814

进入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 = 你的uid

print(f"用户uid: {uid}\n通关次数: {num}")

# 获取用户open_id
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"]

# 获取用户token
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()


阅读全文


post @ 2022-09-13

我的终端环境一直是用的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 -)"
# chsh -s /bin/zsh
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

文章比较简略,感兴趣请参考底部链接

买的三个设备:

image-20220720222204727

分别是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版本。

备份

阅读全文
⬆︎TOP