old-45 풀이

2024. 3. 27. 18:30webhacking.kr

728x90

메인 페이지
view-source

SQL Injeciton 문제입니다

id와 pw에 이스케이핑 처리를 해주고, id에는 mb_convert_encoding() 함수를 적용시킵니다

id와 pw 둘 다 preg_match()로 필터링을 해주는데, 쿼리의 결과가 존재하면서 id의 값이 "admin"일 때 문제가 해결됩니다

 

여기서 mb_convert_encoding() 함수에 대해서 찾아봤는데, php에서 인코딩 방식을 변환해 주는 함수라고 합니다

그리고 이 함수에는 취약점이 존재하는데, [%a1~%fe]\ 형태의 2byte는 1byte로 인식이 됩니다

이렇게 되면 addslashes()를 우회할 수 있게 됩니다

 

Query

인젝션 할 때는 pw를 알아내서 admin으로 로그인하는 방법을 사용하려고 했습니다

하지만 pw가 md5 처리가 되어있어서 그 방법은 힘들 것 같았고, id에 or과 id=admin을 넣어서 로그인을 진행했습니다

 

?id=%a1' or id like 0x61646d696e%23&pw=guest

admin은 hex로 바꿔주고, =은 like로 바꿔줬습니다

 

URL
문제 풀이 성공

728x90

'webhacking.kr' 카테고리의 다른 글

old-57 풀이  (0) 2024.04.07
old-04 풀이  (0) 2024.04.03
old-60 풀이  (0) 2024.03.25
RPG1 풀이  (0) 2024.03.18
old-09 풀이  (0) 2024.03.16