공부...

공부...

  • 분류 전체보기 (47)
    • Digital Forensic (11)
    • Web Hacking (22)
      • Dreamhack (6)
      • Lord of SQL Injectio.. (10)
    • Reversing (6)
    • C (7)
    • Misc. (1)
  • 홈
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

공부...

컨텐츠 검색

태그

Reversing 디지털포렌식 CTF suninatas 웹해킹 forensic 코딩 H4CKINGGAME 공부 ctf-d 드림핵 포렌식 php Dreamhack LordofSQLInjection WarGame SQLInjection digitalforensic C언어 리버싱

최근글

댓글

공지사항

아카이브

[Dreamhack - Wargame] error based sql injection

도커파일을 제공해주는 간단한 Error Based SQLi 문제이다. 처음 들어왔을 때 보이는 페이지 화면이다. uid 값에 값을 입력하고 submit 버튼을 누르면 SELECT 쿼리문이 실행되고, 입력했던 쿼리문이 화면에 보인다. 쿼리문에 에러를 발생시켜서 DB 정보를 알아내본다. XPATH 문법 오류가 발생하면서 DB 정보를 알아낼 수 있다. DB는 MariaDB를 사용하고 있다. 이때, 새로 알았던 점이 주석 뒤 공백이 없으니까 SQL 공격문이 동작하지 않았다. 1' or extractvalue(1, concat(0x3a, version())) --// 주석 뒤 공백 없으면 SQL이 트리거 되지 않았음 1' or extractvalue(1, concat(0x3a, version())) -- // 주..

2024. 1. 30. 17:13
[Dreamhack / wargame.kr - Wargame] strcmp

strcmp 함수를 우회할 수 있다면 플래그를 얻을 수 있을 것이라고 한다. 해당 문제 사이트 화면이다. 패스워드를 입력할 수 있는 input란이 존재하고, 소스코드도 볼 수 있다. else if문 속에 플래그가 존재한다. 입력한 값이 password와 일치하는지 확인 후, 일치하면 플래그를 보여준다. 일치하지 않으면 Wrong password..라는 문구가 나온다. password는 rand 함수와 md5, sha1를 이용하여 암호화되어 있다. 암호화되어 있는 패스워드를 알아낼 방법은... 모르기 때문에 문제에서 힌트를 준대로 strcmp 함수를 우회해보기로 했다. 구글링 결과 알 수 있었던 점 1. php 특정 버전에 strcmp 인증 우회 취약점이 있다. (ex: 버전 5.3) 배열을 인자로 넣으면..

2024. 1. 29. 11:01
[SuNiNaTaS] Game 04

처음 문제 페이지에 접속하면 Point가 1부터 시작한다. 뭘 해야 하는지 감이 안 잡혀서 소스코드를 봤다. 맨 밑에 있는 주석을 보니 Point를 50까지 만들어야 하는 것 같다. Point는 처음에 1로 시작해서 'Plus' 버튼을 클릭하면 1씩 증가하는 시스템이었다. Point를 25까지 만들면 alert창으로 문자열이 출력된다. Burp Suite를 통해 total 값을 50으로 수정한 후 Forward해줘도 같은 alert창이 계속 나왔다. alert창에서 SuNiNaTaS 브라우저를 좋아한다고 계속 말하는 것, 문제 페이지에 User-Agent가 출력되는 것을 보아 User-Agent를 'SuNiNaTaS'라고 수정해보기로 했다. 이렇게 수정하고 Forward를 하면 25에서 올라가지 않던 P..

2022. 11. 4. 10:41
[SuNiNaTaS] Game 03

문제 페이지에 접속하면 공지 게시판에 글을 쓰라고 적혀 있다. 그래서 공지 게시판에 들어가보면 당연하게도 나는 글쓰기 권한이 없다. 일반회원은 상단의 'FREE' 메뉴에 접속하여 글쓰기를 할 수 있었다. 내가 쓴 글을 조회하면 이렇게 수정 버튼과 삭제 버튼도 있다. 'EDIT' 버튼을 클릭하여 글을 수정하면 정상적으로 글이 수정된다. 이때, 수정 페이지에서 다른 경로의 값을 준다면? 수정 페이지의 화면이 바뀌었다. 공지사항 글을 수정하는 페이지인 것 같다. 이를 통해 이 경로가 존재한다는 것을 알아냈다. 여기서 'SUBMIT' 버튼을 누르면 내가 썼던 일반 게시판에 글이 수정되었다. 공지 게시판에 글을 쓰기 위해 위의 경로를 이용하여 공지 게시판 글쓰기 경로로 접속해보자. FREE 게시판의 글쓰기 버튼의..

2022. 11. 4. 09:38
[Lord of SQL Injection] skeleton

이번 문제도 저번에 풀었던 문제들 중 하나와 비슷하다. 코드가 꽤 길어보이지만 흐름은 간단하다. GET 방식으로 pw를 입력받고 아래의 함수가 필터링을 하고 있다. if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); preg_match : 특수문자 ' 을 필터링한다. ' 이 들어간 문자열을 입력하면 "No Hack ~_~"이 출력된다. 그리고 쿼리문의 마지막 부분을 보면 and 뒤에 '1=0'이라는 식이 존재하므로 어떤 값을 넣어도 거짓이 된다. $query = "select id from prob_skeleton where id='guest' and pw='{$_GET[pw]}' and 1=0"; 쿼리에서 이 부분이 실행되지 않도록 ..

2022. 11. 3. 15:19
[Lord of SQL Injection] vampire

뱀파이어를 잡아보자. 뱀파이어는 GET 방식으로 id의 값을 입력받는다. 이때, 아래 함수를 이용하여 SQL Injection 공격을 방어하고 있다. preg_match : 특수문자 ' 을 필터링한다. ' 이 들어간 문자열을 입력하면 "No Hack ~_~"이 출력된다. str_replace : 문자열 'admin'을 공백으로 치환한다. 그리고 strtolower 함수도 있는데 그냥 문자열을 모두 소문자로 바꿔주는 함수이다. 딱히 신경 쓸 필요는 없어 보였다. str_replace로 admin이라는 문자열을 공백으로 치환하고 있으므로 "admin"이라는 문자열 사이에 같은 문자열을 한 번 더 끼워넣기 해서 입력하면 사이에 끼워넣은 "admin" 문자열이 치환된다. adadminmin str_replace..

2022. 11. 3. 13:32
1 2 3 4 ··· 8
티스토리
© 2018 T-Story. All right reserved.

티스토리툴바