War Game 7

[HackCTF #5] Guess Me

제시된 링크를 타고 들어가면 나오는 화면. 코드를 뜯어 보면, 1. secret.txt 파일의 내용을 읽어와 secretcode 변수에 넣는다. 2. 클라이언트가 입력한 guess 값이 secretcode 변수 값과 동일하면 Flag 값을 출력한다. 이후 접근 방법 자체를 모르겠어서 라업을 살짝 참고했다. 해당 문제는 php extract 취약점에 대한 문제이다. PHP란? -C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어 -PHP는 동적 웹 페이지를 쉽고 빠르게 만들 수 있도록 해주기 위한 목적 -PHP로 작성된 코드를 HTML 코드 안에 추가하면, 웹 서버는 해당 PHP 코드를 해석하여 동적 웹 페이지를 생성 PHP extract 취약점이란? -내가 원하는 값으로 변수 내용..

War Game/HackCTF 2021.11.21

[HackCTF #8] 마법봉

view source를 통해 코드를 살펴보자 ​ if 문, md5로 암호화한 문자열 240610708 이 sha1로 암호화한 $input 과 동일하다면 flag를 출력한다. 우선 문자열 240610708을 md5로 인코딩하면 0e46~이 나온다 ​ 구글링하다가 매직 해시라는 것에 대해 알게 되었다. 매직 해시란? -비교 연산을 할 떄 type juggling을 이용해 서로 다른 값이 같은 값으로 인식되도록 하는 것 -특수한 경우 가능: 0e로 시작하는 문자열일 때 ​ -1. 0e 뒤에 모두 숫자일 경우 : float 형태로 인식 -2. 0e 뒤에 문자가 들어갈 경우 ​ Type Juggling? -PHP는 변수 정의에 명백한 타입 선언을 요구하지 않음 -변수 타입은 auto casting 방식으로 결정됨..

War Game/HackCTF 2021.11.07

[HackCTF #7 Login]

주어진 링크에 접속하니 뷰소스를 볼 수 있게 해 준다. 타고 들어가보니 sql injection을 사용하는 문제임을 확인할 수 있다. ** $sql 행 $sql = "select * from jhyeonuser where binary id='$id' and pw='$pw'"; id='$id' and pw='$pw' 부분에서 SQL Injection이 일어날 수 있다! [ SQL Injection 공격 방법] 1. 결과 값 참으로 반환 >> ' or '1'='1 2. # 또는 -- (주석 처리)을 이용한 인증 루틴 우회 >> ' # 소스코드에서 if문으로 id 값을 검사하고 있기에 id 칸에 SQL Injection을 해주자. id 값을 넣어준 후 '를 통해 쿼리문을 닫아주고 #을 통해 뒷부분을 모두 주석..

War Game/HackCTF 2021.11.07

[HackCTF #1] /

문제에 제시된 주소로 접속하면 아래와 같은 이미지가 나온다... ​ Robots.txt? 로봇 배제 표준(robots exclusion standard), 로봇 배제 프로토콜(robots exclusion protocol)은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술. ​ 우리가 핸드폰을 통해 다른 사람과 커뮤니테이션하는 것처럼, 웹 크롤러들이 각 웹 사이트를 돌아다니면서 커뮤니케이션을 하게 됨. 이 과정에서 이 웹사이트에서는 특정 페이지를 보지 말 것, 어떤 로봇만 웹사이트를 볼 수 있다고 알려줌으로써 웹사이트봇의 행동을 결정해주는 역할을 수행 ​ 필요성? 웹사이트 내에서 웹 크롤러가 보지 않았으면 하는 콘텐츠 또는 특정 검..

War Game/HackCTF 2021.10.03

[webhacking.kr] old-16번

링크의 초기 화면. 개발자 도구로 들어가서 코드를 살펴본다. if 문이 몇 개 나오고, 해석해 보니 해당되는 코드를 누르면 별 그림이 이동하는 것 같다. 처음에는 if문에 나온 숫자를 그대로 눌렀는데, 아무 변화가 없어 아스키 코드를 생각해 봤다. 100 d 97 a 119 w 115 s 124 | if 문에 제시된 각각의 숫자에 해당되는 아스키 코드. 이런 식의 변화가 있다. cd==124 코드 맨 오른쪽에 do it! 이라고 주석처리가 되어 있길래, 124의 아스키 코드인 | 을 입력해본다. 아래와 같은 화면으로 전환되며 성공에 축하한다고 뜬다!