WebHacking(24)
-
[Writeup] / [DreamHack] Movie time table
보호되어 있는 글입니다.
2025.04.11 -
[WriteUp] / [Dreamhack] pathtraversal
보호되어 있는 글입니다.
2025.03.31 -
[WriteUp]/[Lord of SQLInjection] xavis
if(preg_match('/prob|_|\\.|\\(\\)/i', $_GET[pw])) exit("No Hack ~_~");if(preg_match('/regex|like/i', $_GET[pw])) exit("HeHe");→ 여기서 역대 문제들 중에서 regex라는 함수가 첫 등장을 한다.regex란?다중 like 문을 사용해야 할때 간단하게 줄여주는 함수from requests import geturl = ### xavis의 URL ###cookie = dict(PHPSESSID="### 자신의 PHPSESSID ####")length = 0password = ''print("### find for pw length ###")while(True) : param = "?pw=1232%27%20o..
2025.03.07 -
[Writeup]/[Lord of SQLInjection] nightmare
if(preg_match('/prob|_|\\.|\\(\\)|#|-/i', $_GET[pw])) exit("No Hack ~_~");if(strlen($_GET[pw])>6) exit("No Hack ~_~);→ pw에서 (prob, _, ., (), #, -)를 필터링한다.→ pw의 입력값의 길이가 6이 넘지 않아야한다.→ 6자 이내로 id가 admin과 다르다고 설정한 후 우회한다.풀이→ pw의 입력값을 괄호로 막아주기 위해 ‘)’를 사용→ MySQL은 쿼리를 읽을 때 NULL을 만나면 멈추는데, 이 점을 이용해서 ;%00을 사용해준다.⇒ pw값이 참이 되도록 만드는 것에 중점을 둔다.[도메인 값]?pw=')';%00-> 클리어 창이 뜬다.
2025.03.05 -
[Writeup]/[Lord Of SQLInjection] zombie_assassin
코드 분석$_GET['id'] = strrev(addslashes($_GET['id']));$_GET['pw'] = strrev(addslashes($_GET['pw']));strrev = 문자열을 거꾸로 반환하는 함수addslashes = 싱글쿼터나 더블쿼터, NULL(%00)의 앞에 특수문자를 문자열로 만들어주는 \를 넣어서 문자열로 만듦⇒ strrev(addslashes) = 특수문자가 문자열 처리 된 후에 순서가 뒤집힘→ 입력값이 거꾸로 반전되는 것까지 고려해야하는 문제풀이null 문자를 넣어서 문제를 해결하되 입력값이 거꾸로 삽입되는 점을 이용해서 처음부터 역순으로 넣어준다.?id=%00&&pw=%23 eurt ro
2025.03.05 -
[Writeup]/[Lord Of SQLInjection] succubus
if(preg_match('/prob|_|\\.|\\(\\)/i', $_GET[id])) exit("No Hack ~_~"); if(preg_match('/prob|_|\\.|\\(\\)/i', $_GET[pw])) exit("No Hack ~_~"); if(preg_match('/\\'/',$_GET[id])) exit("HeHe"); if(preg_match('/\\'/',$_GET[pw])) exit("HeHe");→ get으로 서버에 요청된 id, pw 값에 prob, _, ., (), ‘가 들어가면 필터링이 된다.$query = "select id from prob_succubus where id='{$_GET[id]}' and pw='{$_GET[pw]}'"; → 명령문은 id를 찾는데..
2025.03.05