전체 글(347)
-
[Normaltic's CTF] SQL Injection 1
비밀 데이터가 로또 번호면 좋겠습니다.시작합니다..어떤 게임의 랭킹 시스템인 것 처럼 보입니다.일단 a라고 검색을 해보니,a라는 글자가 포함된 것들이 전부 도출되고 있습니다여기서 Like 구문을 사용하고 있다는 것을 알 수 있습니다.그리고 a로 시작하거나 a로 끝나는 것이 아니라 중간에 낀 것이니,%a나 a%가 아니라 확실하게 %a% 라는 것을 알 수 있게 되었습니다.그러면 SQL Injection이 통하는지 확인하는 구문도 달라져야겠죠?구문은 다음과 같습니다.%' and '1%' = '1현재 상상하고 있는 구문이SELECT * FROM ? WEHER ?='%[input]%'이기 때문에, 그 안에 넣어준다면SELECT * FROM ? WEHER ?='%%' and '1%' = '1%'이런 구문이 완성됩니..
2024.05.29 -
[Normaltic's CTF] Secret Login
관리자 계정을 모른다고 합니다.doldol이 관리자 계정이면 얼마나 좋을까라는 이상한 생각을 하며시작합니다.우선 doldol로 로그인해봅니다.다른 Login Bypass와는 다를 바가 없습니다.그럼 Union공격을 하기 위해 바로 컬럼 갯수를 알아보러 가봅니다.6줄짜리 인 것 같습니다.7줄에서부터 결과가 안나옵니다.6줄짜리를 전부 1로 해놓고 로그인 해봅니다.1로 로그인이 되었네요.그럼 저 중에 하나는 아이디라는 것이고,아이디 중에 하나는 노출이 된다는거네요.즉, 블라인드 상태가 아니라는 겁니다.이 부분에서 저는 블라인드 상태인 줄 알았던 마음을 고쳐먹고 데이터베이스에 접근하기 시작합니다.하나씩 문자열을 넣으면서 어디에 넣었을 때 화면이 도출이 되는지 찾아봅니다.3번째에 넣었을 때 도출이 되네요.그럼 3..
2024.05.29 -
[Normaltic's CTF] Login Bypass5
이번 주 Login Bypass 마지막 문제입니.. 아니구나.Secret Login제외하고 마지막 문제입니다.normaltic5로 로그인하면 된다고 합니다.시작합니다....? 뭐야 이거. 쿠키가 있습니다.변조해줍시다.인터셉트 걸고..normaltic5로 바꿔줍니다....?풀었습니다...?쉬어가는 코너인가..?
2024.05.29 -
[Normaltic's CTF] Login Bypass4
계속해서 Login Bypass4입니다.normaltic4로 로그인하면 된다고 합니다.시작합니다.주어진 doldol로 로그인 해봅니다. 이전과 다른게 보이지 않습니다.그런 처음부터 시작합니다.SQL Injection이 먹히는지 확인하기 위해 doldol' and '1'='1을 넣어보고확인 후 union을 사용하기 위해 컬럼 갯수를 세러 갑니다.2줄인 상태에서는 302 응답코드가 전달되어 옵니다.하지만 3줄에서는 200이 전달되어 왔습니다.똑같은 문제인가..?싶어 normaltic4를 id와 비밀번호에 동일하게 넣어 보내줍니다.이번에는 틀렸습니다.이번 문제는 해시였습니다.해시는 종류가 많기 때문에 자주 사용하는 것 부터 시작했습니다.우선 SHA256, MD5부터 시작했습니다.normaltic4를 비밀번호로..
2024.05.29 -
[Normaltic's CTF] Login Bypass3
일주일이 넘게 걸렸습니다..풀이.. 시작합니다.. normaltic3로 로그인 하면 됩니다.union에 대한 이해를 깊게 한 상태에서 풀어야 하는 문제입니다.우선 주어진 doldol로 로그인해봅니다.앞의 Login Bypass문제들과 다른 점들이 보이지 않습니다.SQL Injection이 통하는지 확인하기 위해 'and '1'='1 입력해서 확인해줍니다.컬럼의 갯수를 확인해주기 위해 order by로 서버에러가 날 때 까지 숫자를 늘려가면서 확인해줍니다.서버 응답 코드 302로 계속 가던 Response가 3줄에서 200으로 바뀌었습니다.이 부분에서 일주일을 먹었습니다. 아무래도 union이 테이블과 컬럼을 전부 넣어야한다는 편견이 있었던 모양입니다.이번 경험을 토대로 편견을 조금 버리기로 하였습니다.두..
2024.05.29 -
[Normaltic's CTF] Login Bypass2
normaltic2로 로그인합시다!일단 그 전에 이젠 친숙한 doldol씨로 로그인 해봅니다.음.. normaltic1로 로그인 하는것과 별반 다른 것 같지 않습니다. 그럼 바로 넘어가볼까요? SQL Injection 취약점이 있는지 확인할 차례입니다.SQL Injection이 있습니다. 302코드와 index.php로 Redirect가 되고있습니다.여기서 있는걸 어떻게 확인하냐구요? 모르시겠다면 1편을 보고오세요!이번엔 주석을 이용해서 뒷 부분을 날려봅시다.MySQL의 주석과 Oracle의 주석이 다릅니다.MySQL은 #으로, Oracle은 --으로 표기합니다.저는 MySQL이므로 #으로 표기해줍니다.아이디 부분에 normaltic2' #를 넣고 비밀번호에는 아무거나 넣어줍니다.반드시 '와 # 사이에 ..
2024.05.22