2020/03
python으로 사이트에 있는 url crawler tool 개발
python으로 사이트에 있는 url crawler tool 개발
2020.03.30소스코드는 github에서 볼수 있습니다. Lactea98/URL-crawler URL crawler. Contribute to Lactea98/URL-crawler development by creating an account on GitHub. github.com 사용자가 입력한 URL에 요청을 보내어 URL 만 파싱하여 결과를 html로 출력합니다. 개발 목적은 취약한 URL 이 있는지 분석을 위해 개발 되었습니다. # Used module 사용된 모듈은 아래와 같습니다. requests bs4 argparse fake_useragent json urlparse # How to use 실행 방법은 아래와 같이 명령어를 입력하면 Crawler 를 시작합니다. python3 urlcrawler.py -..
python 으로 http request smuggling tool 만들기
python 으로 http request smuggling tool 만들기
2020.03.30소스 코드는 github 에서 볼 수 있으니 참고 바란다. 모든 기능은 완성되지 않았지만, 사용하는데 문제는 없을 것이다. Lactea98/smuggler.py HTTP request smuggling tools. Contribute to Lactea98/smuggler.py development by creating an account on GitHub. github.com http request smuggling 도구를 만들기 위해 어떻게 하면 취약함을 알 수 있는가를 portswigger 에서 공부했다. 또한 이미 짱짱해커들이 만들어 놓은 payload 를 참고해서 나만의 툴을 개발하게 되었다. Module 이 툴을 사용하기 위해 아래의 모듈이 필요하다. import requests import a..
Paypal에서 발견된 HTTP Request Smuggling - 실습 환경 구축
Paypal에서 발견된 HTTP Request Smuggling - 실습 환경 구축
2020.03.22요즘 http request smuggling 공격에 대해 몇일간 공부 중이다. 몇달 전에 이 공격을 처음 접하게 되면서 이 공격에 대해 매우 흥미를 느꼈다. http request smuggling 공격에 대해 portswigger 라는 홈페이지에서 자료를 통해 공부를 했고 실습 환경을 만들어 공부 해보면 어떻까 라는 생각을 해서 이렇게 글로 정리를 해본다. 이 실습 환경 만든다고 개고생 했다.. 삽질한 것을 바탕으로 아래 글에 나와 있는데로 진행할 경우 성공할 것이라고 생각한다. 필자가 참고한 사이트는 아래 Reference에 있으니 참고 하길 바란다. # 1. Setting Practice Environment HTTP request smuggling 공격 환경을 만들기 위해서는 사용자와 메인 서버..
[pwnable.xyz] badayum write up
[pwnable.xyz] badayum write up
2020.03.10pwnable.xyz 30번째 문제이다. 해당 바이너리의 사용자 정의 함수를 보면 존재 하지 않았다... ubuntu:~/environment/ctf/pwnable.xyz/30_badayum $ func challenge nm: challenge: no symbols 그래서 gdb로 main 함수를 찾고 play(?) 함수와 win() 함수를 찾았다. 이를 c코드로 나타내면 아래와 같다. /* main: 0x555555554ead play??: 0x555555554d48 win: 0x555555554d30 */ long play(){ int tmp_1 = 0; // rbp-0x74 int tmp_2 = 0; // rbp-0x78 while(tmp_1 edx = 0x1f4e9d7e) edx = edx 0x..
[pwnable.xyz] Hero Factory write up
[pwnable.xyz] Hero Factory write up
2020.03.10pwnable.xyz 33번째 문제이다. Analyze 해당 바이너리에서 사용자 정의 함수들을 보면 아래와 같다. ubuntu:~/environment/ctf/pwnable.xyz/33_Hero Factory $ func challenge __libc_csu_fini __libc_csu_init _fini _init _start createHero crossfit deleteHero floss getInt hadouken handler main printFnc printHero printMenu printSuperPowers setup usePower win wrestle zeroHero gdb로 바이너리를 분석하여 c코드로 나타내면 아래와 같다. (분석 환경이 gdb 밖에 없는 내 자신이 대단..) v..
[zer0pts 2020 CTF] - notepad write up
[zer0pts 2020 CTF] - notepad write up
2020.03.09zer0pts 2020 CTF 문제 중 pwnable 분야의 notepad 이다. 문제 사이트에 접속하면 아래와 같이 출력이 된다. 소스코드는 아래와 같다. import flask import flask_bootstrap import os import pickle import base64 import datetime app = flask.Flask(__name__) app.secret_key = os.urandom(16) bootstrap = flask_bootstrap.Bootstrap(app) @app.route('/', methods=['GET']) def index(): return notepad(0) @app.route('/note/', methods=['GET']) def notepad(nid..
[zer0pts 2020 CTF] - Can you guess it? write up
[zer0pts 2020 CTF] - Can you guess it? write up
2020.03.09zer0pts 2020 CTF 문제 중 pwnable 분야의 Can you guess it? 이다. 위 문제의 소스 코드를 보면 아래와 같다.
[zer0pts 2020 CTF] hipwn write up
[zer0pts 2020 CTF] hipwn write up
2020.03.09zer0pts 2020 CTF 문제 중 pwnable 분야의 hipwn 이다. 문제 파일을 다운로드 하면 chall, main.c 파일이 존재한다. main.c 코드 내용은 아래와 같다. #include int main(void) { char name[0x100]; puts("What's your team name?"); gets(name); printf("Hi, %s. Welcome to zer0pts CTF 2020!\n", name); return 0; } ubuntu:~/environment/ctf/zer0pts/pwn/hipwn $ checksec --file=chall RELRO STACK CANARY NX PIE RPATH RUNPATH Symbols FORTIFY Fortified Fort..
Aero 2020 CTF write up - aerofloat
Aero 2020 CTF write up - aerofloat
2020.03.03Aero 2020 CTF 문제 중 pwnable 분야의 Aerofloat 문제이다. 대회 당일에는 풀지 못했지만, 롸업을 보고 재 도전 후 풀수 있게 되었다. Analyze 해당 문제의 바이너리 안에 사용자 정의 함수는 아래와 같다. ubuntu:~/environment/ctf/Aero CTF 2020/pwn/Aerofloat $ func aerofloat main menu read_buf read_int gdb로 문제 바이너리를 분석해서 c로 나타내면 아래와 같다. void menu(){ puts("1. Set rating"); puts("2. View rating list"); puts("3. View porfile info"); puts("4. Exit"); printf("> "); } int re..