Season 1
-
보호되어 있는 글입니다.
[Try - 1~2][Webhacking.kr] RegexMaster보호되어 있는 글입니다.
2021.07.10 -
보호되어 있는 글입니다.
[Try - 2][Webhacking.kr] RPG1 Write UP보호되어 있는 글입니다.
2021.07.08 -
웹 문제는 22번부터 다시 웹 문제이다. 1. 문제 sql 문제가 나왔다. 다른 문제들에서 많이 시도해보았는데 안되었는데 드디어 나온 것 같다!! 2. 풀이 방법 힌트를 보기 위해 응답 패킷을 잡아보았다. 힌트엔 guest가 있었고 admin의 pw를 찾으라는 것 같았다. SQL injection을 통하여 admin계정의 패스워드를 얻을 수 있다고 생각이 들었다. 우선 ID / PW에 guest값을 입력하였다. Blind Sql injection이라는 구문이 OK GUEST라는 구문으로 변경되는 것을 확인할 수 있었다. 이후 추가 ', " , and 1=1 등을 이용하여 저 guest 값이 변경되는지 확인하였다. 패스워드가 틀려도 참인 쿼리를 이용하여 성공하는 것을 볼 수 있었다. 이를 이용하여 admi..
suninatas/웹/22번 문제풀이웹 문제는 22번부터 다시 웹 문제이다. 1. 문제 sql 문제가 나왔다. 다른 문제들에서 많이 시도해보았는데 안되었는데 드디어 나온 것 같다!! 2. 풀이 방법 힌트를 보기 위해 응답 패킷을 잡아보았다. 힌트엔 guest가 있었고 admin의 pw를 찾으라는 것 같았다. SQL injection을 통하여 admin계정의 패스워드를 얻을 수 있다고 생각이 들었다. 우선 ID / PW에 guest값을 입력하였다. Blind Sql injection이라는 구문이 OK GUEST라는 구문으로 변경되는 것을 확인할 수 있었다. 이후 추가 ', " , and 1=1 등을 이용하여 저 guest 값이 변경되는지 확인하였다. 패스워드가 틀려도 참인 쿼리를 이용하여 성공하는 것을 볼 수 있었다. 이를 이용하여 admi..
2021.07.08 -
[WEB] web-deserialize-python 문제풀이 직렬화(Serialize)는 언어 문맥에서 구조나 상태를 다른 컴퓨터 환경에 저장하고 나중에 다시 사용할 수 있는 포맷으로 변환하는 과정이다. 웹 상에서 직렬화는 객체들의 데이터를 연속적인 데이터로 변형하여 Stream을 통해 데이터를 읽도록 한다. 주로 객체를 파일로 저장하거나 다른 곳으로 전송할 때 사용된다. 반대로 역직렬화(Deserialize)는 직렬화된 데이터를 역으로 직렬화하여 다시 객체의 형태로 복원하는 것을 말한다. 역직렬화(Deserialization) 취약점이란 위에서 설명한 직렬화-역직렬화 과정에서 악의적으로 객체 또는 변수를 추가 작성하여 악성코드를 싱행하게끔 만드는 취약점이다. pickle 모듈은 python의 객체구조 ..
[dreamhack] web-deserialize-python 문제풀이[WEB] web-deserialize-python 문제풀이 직렬화(Serialize)는 언어 문맥에서 구조나 상태를 다른 컴퓨터 환경에 저장하고 나중에 다시 사용할 수 있는 포맷으로 변환하는 과정이다. 웹 상에서 직렬화는 객체들의 데이터를 연속적인 데이터로 변형하여 Stream을 통해 데이터를 읽도록 한다. 주로 객체를 파일로 저장하거나 다른 곳으로 전송할 때 사용된다. 반대로 역직렬화(Deserialize)는 직렬화된 데이터를 역으로 직렬화하여 다시 객체의 형태로 복원하는 것을 말한다. 역직렬화(Deserialization) 취약점이란 위에서 설명한 직렬화-역직렬화 과정에서 악의적으로 객체 또는 변수를 추가 작성하여 악성코드를 싱행하게끔 만드는 취약점이다. pickle 모듈은 python의 객체구조 ..
2021.07.07 -
3번째 시도,, level 25 문제 바로 소스코드 확인들어가자.. 코드를 보면 REQUEST_URI를 parse_url함수를 통해서 parse 한 뒤 qurey에 flag 값이 들어가면 die메시지가 출력된다. 각 함수의 특징들을 살펴보자. 1.parse_url()은 host, port, user, path, query 등의 값을 반환하는 함수 2.parse_str()은 이름=값(query)의 형태로 만들어주는 함수 3.stripos()는 문자열을 찾는 함수 자세한 내용은 아래 참고 url을 통해서 확인 가능! 정상적으로 parse_url 함수가 사용 될 경우 query문에 flag 문자열이 들어가게 되므로 die메시지가 출력되게 된다. URL: /index.php?page=flag Array ( [p..
[websec.fr] babysteps - Level 253번째 시도,, level 25 문제 바로 소스코드 확인들어가자.. 코드를 보면 REQUEST_URI를 parse_url함수를 통해서 parse 한 뒤 qurey에 flag 값이 들어가면 die메시지가 출력된다. 각 함수의 특징들을 살펴보자. 1.parse_url()은 host, port, user, path, query 등의 값을 반환하는 함수 2.parse_str()은 이름=값(query)의 형태로 만들어주는 함수 3.stripos()는 문자열을 찾는 함수 자세한 내용은 아래 참고 url을 통해서 확인 가능! 정상적으로 parse_url 함수가 사용 될 경우 query문에 flag 문자열이 들어가게 되므로 die메시지가 출력되게 된다. URL: /index.php?page=flag Array ( [p..
2021.07.07 -
쿼리문을 보자마자 생각나는 방법이 하나 있다. if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); id 파라미터가 쿼리문에 하드코딩 되어 있어서 id의 검증은 따로 없었다. 하지만 no 파라미터의 경우 prob, _, ., (), ', ", `에 대해서 검증하고 있었다. $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result[..
[Lord of SQLInjection] Goblin Write UP쿼리문을 보자마자 생각나는 방법이 하나 있다. if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); id 파라미터가 쿼리문에 하드코딩 되어 있어서 id의 검증은 따로 없었다. 하지만 no 파라미터의 경우 prob, _, ., (), ', ", `에 대해서 검증하고 있었다. $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result[..
2021.07.06