Write up (Wargame)/Web Hacking
2023.02.26
차마 뭘 해야할지 모르겠어서.. 웹을 하게 되었습니다. 이것저것 다 잘하고싶은데 골고루 못하는게 아쉽네여 xss-1번 문제는 드림핵에 나와있는 설명대로 함께 풀어보면 되는데 xss-1을 풀고 바로 xss-2를 풀자니 갑자기 난이도가 급상승 하는 것 같았습니다. 분석 다운로드 한 소스코드에서 필요한 부분만을 봅시다. def read_url(url, cookie={"name": "name", "value": "value"}): cookie.update({"domain": "127.0.0.1"}) try: options = webdriver.ChromeOptions() for _ in [ "headless", "window-size=1920x1080", "disable-gpu", "no-sandbox", "d..
Write up (Wargame)/Pwnable
2022.12.30
int __cdecl main(int argc, const char **argv, const char **envp) { char s[48]; // [rsp+0h] [rbp-30h] BYREF init(); memset(s, 0, 0x28uLL); puts("Do you know pwnable?"); read(0, s, 0x40uLL); return 0; } main은 이게 전부고 NX만 존재 그냥 RET를 win 함수로 바꾸려 BOF하면 된다. 0x38까지, SFP를 덮고 0x8을 win함수 주소로 채운다. from pwn import * p = remote('pwn.h4ckingga.me', 10001) #p = process('./welcome') p.recvuntil('?\n') win = 0x00..
Write up (Wargame)/Forensic
2022.12.30
파일을 다운로드 하고 실행하면 이런 png 파일이 있다. 음 png? 이렇게 가려둔다면 stegsolve를 사용하는 방법을 떠올릴 수 밖에 없다. 이렇게 Red plane 0에 맞춰두면 보인다.
Write up (Wargame)/Pwnable
2022.12.29
analysis checksec으로 확인하면 PIE랑 RELRO가 걸려있지 않고 canary와 NX가 걸려있다. int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int cmd; // eax char name[32]; // [rsp+10h] [rbp-40h] BYREF _QWORD v5[4]; // [rsp+30h] [rbp-20h] BYREF v5[3] = __readfsqword(0x28u); // cnry setup(); memset(name, 0, 0x38uLL); while ( 1 ) { while ( 1 ) { print_menu(); cmd = read_int32(); if ( cmd != 2 ) bre..
Write up (Wargame)/Pwnable
2022.12.24
analysis canary 없음. int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // [rsp+Ch] [rbp-24h] __int64 v4; // [rsp+10h] [rbp-20h] BYREF __int64 v5; // [rsp+18h] [rbp-18h] BYREF __int64 v6; // [rsp+20h] [rbp-10h] BYREF unsigned __int64 v7; // [rsp+28h] [rbp-8h] v7 = __readfsqword(0x28u); puts("The Poopolator"); setup(); while ( 1 ) { v6 = 0LL; printf(format, argv)..