added two wps

This commit is contained in:
NaiveTomcat
2020-11-07 12:51:15 +08:00
parent fabee7bca1
commit d25184614c
2 changed files with 67 additions and 0 deletions
@@ -0,0 +1,42 @@
---
layout: post
title: 字符串工具WP
catalog: true
tags:
- CTF
- Hack
---
## 大小写转换
### 思路
本问利用Unicode连字U+FB02fl连写),该字符被传入python的upper()方法后会被转为FL
进而达到绕过过滤的方法
### 脚本
```python
#!/usr/bin/python
import pwn
token="token"
p=pwn.remote("202.38.93.111",10233)
p.sendline(token)
p.recvuntil("2. Convert my UTF-7 string to UTF-8!!")
p.sendline("1")
p.recvuntil("Welcome to the capitalizer tool, please input your string:")
payload="\ufb02\u0061\u0067"
p.sendline(payload)
p.interactive()
```
## UTF-7到UTF-8转换
### 思路
本问利用UTF-7编码规则,将flag中每个字母扩充为双字节(即在前面加/x00),整体base64编码
并在最前面加上“+”以及去除末尾“=”,发送到服务,被UTF-7解码成flag进而获取flag
### payload
`+AGYAbABhAGc`
@@ -0,0 +1,25 @@
---
layout: post
title: 狗狗银行WP
catalog: true
tags:
- CTF
- Hack
---
## 切入点
后端计算利息的近似方法为四舍五入,故构造合理余额可使得借记卡利息达到0.6%,高于信用卡的0.5%从而获取利润
## 解题方法
分析创建卡、转账的请求,使用burp的intruder批量发包,首先自行手动创建一张信用卡,再通过burp批量创建998张借记卡
(为了满足题目新增要求),再通过burp从信用卡向每一张新增的信用卡转账167元
吃饭后,此时,每张卡都会有理论0.501元的利息,经过后端计算舍入得1元利息,共获得998元利息,而信用卡欠款166666元,
利息833.33元,有164元差额。除去吃饭的10元仍有利润。重复几天就可以使净资产大于2000。
## 错误解题方法
看到题我的第一思路是整型溢出,于是借了很多钱,用burp请求/api/eat很多次,最后返回的欠款有2^1000不止。后端应该用
的BigDecimal,不会出现溢出。