Season 1
-
아무 반응이 없어서 코드를 확인하였다. $db = dbconnect(); include "./tablename.php"; if($_GET['answer'] == $hidden_table) solve(53); if(preg_match("/select|by/i",$_GET['val'])) exit("no hack"); $result = mysqli_fetch_array(mysqli_query($db,"select a from $hidden_table where a={$_GET['val']}")); echo($result[0]); 이번 문제는 테이블명을 answer에 넣어서 서버로 보내면, flag를 획득할 수 있는 문제이다. 테이블명을 얻기 위해서는 select a from $hidden_table wher..
[Webhacking.kr] Old - 53 Write Up아무 반응이 없어서 코드를 확인하였다. $db = dbconnect(); include "./tablename.php"; if($_GET['answer'] == $hidden_table) solve(53); if(preg_match("/select|by/i",$_GET['val'])) exit("no hack"); $result = mysqli_fetch_array(mysqli_query($db,"select a from $hidden_table where a={$_GET['val']}")); echo($result[0]); 이번 문제는 테이블명을 answer에 넣어서 서버로 보내면, flag를 획득할 수 있는 문제이다. 테이블명을 얻기 위해서는 select a from $hidden_table wher..
2021.05.30 -
suninatas 4번 문제풀이 시작해보도록 하겠습니다. 1. 문제 2. 문제풀이 눈에 보이는 Plus를 계속 눌러보았다. Point가 25까지 늘어나고 I like the SuNiNaTaS browser!라는 문구가 뜨게 되었다. 이후엔 카운트가 올라가지 않았고 프록시툴(Burp Suite)을 이용하여 패킷을 분석해보았다. 응답 값을 보니 User-Agent 값이 찍히며, Hint를 통해 포인트를 50으로 맞추고 'SuNiNaTaS'를 이용하라는 힌트가 보인다. 요청 total값을 50과 User-Agent 값을 SuNiNaTaS로 변조하여 요청해보았다. 올라가지 않던 point 값이 27로 올라가며, User-Agent 값은 변경되지 않았다. 다시 요청 total 값은 50으로 맞추고 두 번째 요청 ..
suninatas/웹/4번 문제풀이suninatas 4번 문제풀이 시작해보도록 하겠습니다. 1. 문제 2. 문제풀이 눈에 보이는 Plus를 계속 눌러보았다. Point가 25까지 늘어나고 I like the SuNiNaTaS browser!라는 문구가 뜨게 되었다. 이후엔 카운트가 올라가지 않았고 프록시툴(Burp Suite)을 이용하여 패킷을 분석해보았다. 응답 값을 보니 User-Agent 값이 찍히며, Hint를 통해 포인트를 50으로 맞추고 'SuNiNaTaS'를 이용하라는 힌트가 보인다. 요청 total값을 50과 User-Agent 값을 SuNiNaTaS로 변조하여 요청해보았다. 올라가지 않던 point 값이 27로 올라가며, User-Agent 값은 변경되지 않았다. 다시 요청 total 값은 50으로 맞추고 두 번째 요청 ..
2021.05.30 -
입력한 Text와 파일을 업로드할 수 있는 페이지가 나왔다. 나는 뭔가 있을 까봐 입력하여, 코드를 살펴보니 아무 것도 없었다. 파일와 text를 입력하여 코드를 살펴보니, 역시 아무것도 없었다. 하지만 내가 업로드한 PHP은 운영체제에 명령을 전달하는 코드였고, 나는 내가 업로드한 /upload/test.php에 명령어를 전달하였다. 그러나, 해당 코드는 실행이 안되고 읽기만 되는 것으로 다른 방법으로 접근을 해야한다. GET /?mode=del&time=1622299124 HTTP/1.1 Host: webhacking.kr:10006 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit..
[Webhakcing.kr] Old - 48 Write Up입력한 Text와 파일을 업로드할 수 있는 페이지가 나왔다. 나는 뭔가 있을 까봐 입력하여, 코드를 살펴보니 아무 것도 없었다. 파일와 text를 입력하여 코드를 살펴보니, 역시 아무것도 없었다. 하지만 내가 업로드한 PHP은 운영체제에 명령을 전달하는 코드였고, 나는 내가 업로드한 /upload/test.php에 명령어를 전달하였다. 그러나, 해당 코드는 실행이 안되고 읽기만 되는 것으로 다른 방법으로 접근을 해야한다. GET /?mode=del&time=1622299124 HTTP/1.1 Host: webhacking.kr:10006 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit..
2021.05.29 -
전화번호를 입력하는 페이지가 나왔다. 카페에서 여자가 내 번호를 물어봤을 때, 내가 여자의 폰에 전화번호를 입력하는 설레는 마음으로 입력하여, 서버로 보내니 no hack이 출력되었다. 왜 까였는지 확인하기 위해, 코드를 분석하였다. $db = dbconnect(); if($_GET[‘phone’] && $_GET[‘id’]){ if(preg_match(“/\*|\/|=|select|-|#|;/i”,$_GET[‘phone’])) exit(“no hack”); if(strlen($_GET[‘id’]) > 5) exit(“no hack”); if(preg_match(“/admin/i”,$_GET[‘id’])) exit(“you are not admin”); mysqli_query($db,”insert int..
[Webhacking.kr] Old - 35 Write Up전화번호를 입력하는 페이지가 나왔다. 카페에서 여자가 내 번호를 물어봤을 때, 내가 여자의 폰에 전화번호를 입력하는 설레는 마음으로 입력하여, 서버로 보내니 no hack이 출력되었다. 왜 까였는지 확인하기 위해, 코드를 분석하였다. $db = dbconnect(); if($_GET[‘phone’] && $_GET[‘id’]){ if(preg_match(“/\*|\/|=|select|-|#|;/i”,$_GET[‘phone’])) exit(“no hack”); if(strlen($_GET[‘id’]) > 5) exit(“no hack”); if(preg_match(“/admin/i”,$_GET[‘id’])) exit(“you are not admin”); mysqli_query($db,”insert int..
2021.05.29 -
[WEB] command-injection-1 문제풀이 Command Injection 취약점이란 시스템 명령어를 쿼리문에 주입하여 취약한 변수를 통해 서버 운영체제에 접근하는 공격으로 shell)exec, eval, system 함수 등을 사용하여 발생되는 취약점이다. 문제를 확인해보자. HOST에 ping 패킷을 보내는 서비스에서 command Injectino을 통해 FLAG를 획득하라고 한다. 페이지에 접속해보자. Ping 페이지로 접근해보자. 8.8.8.8 ip로 ping을 한 번 보내보자. 시스템에서 ping 명령을 수행한 내역을 웹 페이지에 출력해준다. 음... 사실 어떻게 접근해야할지 잘 모르겠다. 소스코드를 바로 확인해보자. #!/usr/bin/env python3 import subpr..
[dreamhack] command-injection-1 문제풀이[WEB] command-injection-1 문제풀이 Command Injection 취약점이란 시스템 명령어를 쿼리문에 주입하여 취약한 변수를 통해 서버 운영체제에 접근하는 공격으로 shell)exec, eval, system 함수 등을 사용하여 발생되는 취약점이다. 문제를 확인해보자. HOST에 ping 패킷을 보내는 서비스에서 command Injectino을 통해 FLAG를 획득하라고 한다. 페이지에 접속해보자. Ping 페이지로 접근해보자. 8.8.8.8 ip로 ping을 한 번 보내보자. 시스템에서 ping 명령을 수행한 내역을 웹 페이지에 출력해준다. 음... 사실 어떻게 접근해야할지 잘 모르겠다. 소스코드를 바로 확인해보자. #!/usr/bin/env python3 import subpr..
2021.05.28 -
[WEB] simple_sqli 문제풀이 SQL Injection 취약점이란 웹 해킹 기법 중 하나로 웹 애플리케이션의 뒷단에 있는 Database에 질의(쿼리를 보내는 것)하는 과정 사이에 일반적인 값이 아닌 악의적인 의도를 갖는 구문을 삽입하여 공격자가 원하는 SQL 쿼리문을 실행하는 기법이다. 주로 사용자가 입력한 데이터를 제대로 필터링, 이스케이핑 하지 못했을 경우에 발생한다. 거의 모든 데이터베이스 엔진은 유저 입력이 의도치 않은 동작을 하는 것을 방지하기 위해 escape 함수와 prepared statement를 제공한다. 문제를 확인해보자. 로그인 서비스에서 SQL Injection 취약점을 통해 FLAG를 획득하라고 한다. 한 번 접속해보자. 대문짝만하지 않게 Login 링크가 걸려있다...
[dreamhack] simple_sqli 문제풀이[WEB] simple_sqli 문제풀이 SQL Injection 취약점이란 웹 해킹 기법 중 하나로 웹 애플리케이션의 뒷단에 있는 Database에 질의(쿼리를 보내는 것)하는 과정 사이에 일반적인 값이 아닌 악의적인 의도를 갖는 구문을 삽입하여 공격자가 원하는 SQL 쿼리문을 실행하는 기법이다. 주로 사용자가 입력한 데이터를 제대로 필터링, 이스케이핑 하지 못했을 경우에 발생한다. 거의 모든 데이터베이스 엔진은 유저 입력이 의도치 않은 동작을 하는 것을 방지하기 위해 escape 함수와 prepared statement를 제공한다. 문제를 확인해보자. 로그인 서비스에서 SQL Injection 취약점을 통해 FLAG를 획득하라고 한다. 한 번 접속해보자. 대문짝만하지 않게 Login 링크가 걸려있다...
2021.05.28