전체 글(347)
-
[SQL Injection] Blind SQL Injection
사용 조건SQL Injection이 발생하는 모든 곳 문법' and (ascii(substr((__SQL__),[index],[count])) > 0) and '1'='1 필수 요소SQL Injection이 일어나는 모든 곳에서 가능하나, 속도가 느리기 때문에 맨 마지막으로 미뤄둘 것을 당부한다. PROCESS 1. SQL Injection Point 찾기참인 조건' and '1'='1거짓 조건' and '1'='2의 결과가 다르게 나오면 해당 문구가 바로 SQL 쿼리문에 들어가고 있다는 증거이므로 SQL Injection이 가능함을 알 수 있음 2. SELECT 문구가 필터링 되고있는지 + 참과 거짓 문구의 결과 차이 확인참인 조건' and ((select 'test') = 'test') and '1'..
2024.06.06 -
[SQL Injection] Error Based SQL Injection
사용조건500에러가 아닌 에러 메세지가 화면에 출력되는 경우 문법Mysql에서는 extractvalue()라는 함수를 사용extractvalue([xml문법],[찾을 표현식]) 필수요소찾을 표현식에는 xml표현식이 아닌 것이 들어가야 한다 PROCESS 1. SQL Injection Point 찾기Error를 유발하기 위해 싱글 따옴표를 하나 더 넣어보거나 하는 등의 Error 유발 코드 삽입 2. Error를 출력하는 함수 선택Mysql의 경우에는 extractvalue() 3. 공격 Format 제작' and extractvalue('1',concat(0x3a,(________))) and '1'='1 4. DB 이름 출력' and extractvalue('1',concat(0x3a,(SELECT D..
2024.06.06 -
[SQL Injection] Union SQL Injection
사용 조건SQL 질의문의 결과가 화면에 출력되는 곳EX) 게시판 문법SELECT [COLUMN] FROM [TABLE] UNION SELECT [COLUMN] FROM [TABLE] 필수 요소앞과 뒤의 SELECT문의 COLUMN 갯수가 맞아야 한다 PROCESS 1. SQL Injection Point 찾기어떤 쿼리문을 사용했을지 추측하기어떤 따옴표(', ")를 사용했을지 추측하기LIKE를 사용했을지 하지 않았을지('%%', "%%") 추측하기) 2. COLUMN 갯수 찾기%' ORDER BY [COLUMN갯수]#눈에 보이는 컬럼이 전부가 아님을 명심하기 3. 출력되는 COLUMN 위치 찾기%' UNION SELECT 1,2,3,4.... #어떤 컬럼이 화면이 출력되는지, 어떤 순서로 출력되는지 파악하..
2024.06.06 -
[Normaltic's CTF] SQL Injection 6
심플합니다.Flag Find.FF출발합니다. 로그인부터 고고302! index.php!이번엔 에러베이스드가 아니군요. 블라인드인 모양입니다.로그인의 쿼리문이 거짓일 시에는 Warning! Incorrect information이라는 문구가 도출되네요.우선 select가 필터링 되고있는지 확인 여부와, 참인 조건을 넣었을 때 통과가 되는지 여부를 한꺼번에 확인해보면,302! index.php! 동일하게 로그인 성공 결과값이 나옵니다.Database 첫 글자부터 시작하겠습니다.또 긴 여정이겠네요.Repeater로 보내고..Decoding을 하고..쿼리문이 참일 시에는 302가거짓일 시에는 200이 뜨는 것을 확인했습니다.첫 번째 글자는 115두 번째 글자는 113세 번째 글자는 108네 번째 글자는 105다..
2024.06.05 -
[Normaltic's CTF] SQL Injection 5
인내심을 가지라고 합니다. 블라인드인가..?일단 로그인을 해봅니다302! 리다이렉트입니다.index.php로 보내주는군요.혹시나 해서 싱글 따옴표 하나 붙여봤을 뿐인데...이거 왜 에러베이스드에요..?아니... 왜 인내심을 가지세요...?일단... 출발합니다.Database는 sqli_2_2라고 합니다.테이블 이름은 flagTable_this라고 하네요컬럼 이름은 flag인 모양입니다.....hi?어.. 플래그 찾으러 왔습니다..?왜 웃으세요 무섭게ㅖ?ㅋㅋㅋㅋ????????? 이 때 깨달았습니다.아........ 인내심을 가지라는게 이거구나.또 웃습니다.고고고스타크래프트 하는 줄 알았습니다.더 가라고합니다. 많이 온 것 같은데...예에???? 아니 여기까지왔는데요?????아 내쫒지 말라구요웃지도 말고표정..
2024.06.05 -
[Normaltic's CTF] SQL Injection 4
내용만 봐서는 블라인드인지 에러베이스드인지 잘 모르겠네요.일단 부딫혀봐야겠습니다.로그인을 먼저 해봅니다.똑같이 302로 index.php로 로그인을 하고있네요.음.. 이 부분에서 잠시 망설였습니다.union으로도 접근할 수 있지 않을까 하는 생각이..생각만 하다가 응급실을 가는 바람에 아직 돌파구를 찾지 못해서, 만약에 찾게 된다면 추후에 추가하도록 하겠습니다.일단 에러베이스드를 먼저 테스트 해봅니다.닉네임 다음에 싱글 따옴표를 하나 더 붙여보겠습니다.에러베이스드입니다! 에러메세지가 잘 나오고 있습니다.첫 번째로 Database이름을 알아내겠습니다.Database이름은 sqli_2_1이네요.다음은 테이블 이름입니다.테이블 이름은 flag_table이네요.다음은 컬럼 이름입니다. 진도가 쭉쭉 나가네요.음...
2024.06.05