분류 전체보기
-
5번 문제는 4번 문제와 같아서 진행하지 않음 패스워드 암호화 알고리즘을 분석하는 문제가 될것처럼 보임 123456 입력 시, 13579;로 암호화가 됨 (자리수에 따라 숫자가 변하고, 숫자에서 기호(;)로 변환되는 것을 보고 아스키코드와 관련되어 있는지 확인을 위해 영문자로도 시도해봄) 아스키표를 참고한 결과, 입력값(abcde)에 자리수만큼 값을 더해주면 결과값(acegi)이 나오는걸 확신함 b->c (2번째 자리수는 +1), c->e (3번째 자리수는 +2), d->g (4번째 자리수는 +3), e->i (5번째 자리수는 +4)로 변환되는것을 확인함 암호화된 패스워드가 9cf
(HackThisSite) Basic missions - Level 65번 문제는 4번 문제와 같아서 진행하지 않음 패스워드 암호화 알고리즘을 분석하는 문제가 될것처럼 보임 123456 입력 시, 13579;로 암호화가 됨 (자리수에 따라 숫자가 변하고, 숫자에서 기호(;)로 변환되는 것을 보고 아스키코드와 관련되어 있는지 확인을 위해 영문자로도 시도해봄) 아스키표를 참고한 결과, 입력값(abcde)에 자리수만큼 값을 더해주면 결과값(acegi)이 나오는걸 확신함 b->c (2번째 자리수는 +1), c->e (3번째 자리수는 +2), d->g (4번째 자리수는 +3), e->i (5번째 자리수는 +4)로 변환되는것을 확인함 암호화된 패스워드가 9cf
2021.06.07 -
아무 반응이 없어서 코드를 확인해보니, 주석으로 시간과 admin 페이지가 표시되어 있었다. Admin 페이지에 들어가니, 비밀번호를 입력하는 Form이 있었다. 그래서 SQLi 문제인 듯하여, '를 넣음으로써 Error를 일으켜서 Error를 출력하려고 했다. 하지만, ' 포함하여 다양한 값들을 넣어지만 똑같은 Alert창이 출력되었다. 공격 백터가 Admin의 입력 Form이 아닌 듯하여, 다른 백터를 찾아봤다. 쿠키를 보니 Time이라는 쿠키를 볼 수 있었다. 해당 쿠키값을 True로 변경하니, 주석으로 표시된 시간이 변경이 되었다. 이번에는 False로 변경하여 확인하니, 이번에도 시간이 변경되었다. True와 False의 결과를 비교하니, 시간의 초 부분이 변경이 되었다. 그런데 보다가 True..
[Webhacking.kr] Old - 2 Write Up아무 반응이 없어서 코드를 확인해보니, 주석으로 시간과 admin 페이지가 표시되어 있었다. Admin 페이지에 들어가니, 비밀번호를 입력하는 Form이 있었다. 그래서 SQLi 문제인 듯하여, '를 넣음으로써 Error를 일으켜서 Error를 출력하려고 했다. 하지만, ' 포함하여 다양한 값들을 넣어지만 똑같은 Alert창이 출력되었다. 공격 백터가 Admin의 입력 Form이 아닌 듯하여, 다른 백터를 찾아봤다. 쿠키를 보니 Time이라는 쿠키를 볼 수 있었다. 해당 쿠키값을 True로 변경하니, 주석으로 표시된 시간이 변경이 되었다. 이번에는 False로 변경하여 확인하니, 이번에도 시간이 변경되었다. True와 False의 결과를 비교하니, 시간의 초 부분이 변경이 되었다. 그런데 보다가 True..
2021.06.04 -
- md5() 취약점에 관련한 문제로 보인다. - Start - get source - 패스워드가 $ps = mysql_real_escape_string($_POST['ps']); 을 통해 필터링 되는 것을 확인 - 패스워드는 md5($ps, true); 함수를 통해 MD5해시 값으로 변환되어 SQL쿼리문이 된다. - 이때, 파라미터'true'가 설정된 md5함수는 SQL문에서 사용될 때, SQL Injection 공격에 취약하게 된다. - 파라미터'true'는 raw_output=true 라는 의미로 16진수 문자열대신 바이너리 형태로 해시 값를 반환하게 된다. - 따라서 SQL쿼리가 참이 되도록 하는 바이너리 형태의 md5값의 입력 문자를 찾으면 문제를 해결할 수 있다. - 구글링을 통해 'DyrhG..
Wargame.kr - md5 password- md5() 취약점에 관련한 문제로 보인다. - Start - get source - 패스워드가 $ps = mysql_real_escape_string($_POST['ps']); 을 통해 필터링 되는 것을 확인 - 패스워드는 md5($ps, true); 함수를 통해 MD5해시 값으로 변환되어 SQL쿼리문이 된다. - 이때, 파라미터'true'가 설정된 md5함수는 SQL문에서 사용될 때, SQL Injection 공격에 취약하게 된다. - 파라미터'true'는 raw_output=true 라는 의미로 16진수 문자열대신 바이너리 형태로 해시 값를 반환하게 된다. - 따라서 SQL쿼리가 참이 되도록 하는 바이너리 형태의 md5값의 입력 문자를 찾으면 문제를 해결할 수 있다. - 구글링을 통해 'DyrhG..
2021.06.04 -
SQLi 공격이 문제가 나왔다. if($_GET['id'] && $_GET['pw']){ $db = dbconnect(); $_GET['id'] = addslashes($_GET['id']); $_GET['pw'] = addslashes($_GET['pw']); $_GET['id'] = mb_convert_encoding($_GET['id'],'utf-8','euc-kr'); foreach($_GET as $ck) if(preg_match("/from|pw|\(|\)| |%|=|>|| \', \", \\, \0\0 preg_match 함수 : union 지금까지는 못봤던, mb_convert_encoding 함수가 보였다. 해당 mb_convert_encoding($_GET['id'],'utf-8','e..
[Webhacking.kr] Old - 50 Write UpSQLi 공격이 문제가 나왔다. if($_GET['id'] && $_GET['pw']){ $db = dbconnect(); $_GET['id'] = addslashes($_GET['id']); $_GET['pw'] = addslashes($_GET['pw']); $_GET['id'] = mb_convert_encoding($_GET['id'],'utf-8','euc-kr'); foreach($_GET as $ck) if(preg_match("/from|pw|\(|\)| |%|=|>|| \', \", \\, \0\0 preg_match 함수 : union 지금까지는 못봤던, mb_convert_encoding 함수가 보였다. 해당 mb_convert_encoding($_GET['id'],'utf-8','e..
2021.06.03 -
마우스를 따라오는 슬라임이 있는 페이지가 나왔다. 슬라임이 움직이면 Score도 증가가 되었다. 랭크 페이지가 있길래 들어가보니, Insert문이 밑에 나와있었다. 게임이 종료가 된 후 DB에 저장이 될 때, 저 Insert문이 작동되는 것으로 추측이 된다. Score 부분에도 a태그로 되어 있어서 클릭해보니, 서버에 score 파라미터를 보내고 있었다. 그래서 혹시나 해서 점수 뒤에 작은 따음표를 넣어서 서버로 보내니, 'no hack'이 출력이 되었다. 입력값에 대한 검증을 한다는 것을 확인을 하고, 나는 어떤 문자를 검증하는지 확인하였다. 몇가지 테스트를 해보니, 작음 따음표와 큰 따음표에 'no hack'를 출력하였다. 생각을 해보니, 점수는 INT 타입으로 들어가니 작음 따음표와 큰 따음표가 들..
[Webhacking.kr] Old - 55 Write Up마우스를 따라오는 슬라임이 있는 페이지가 나왔다. 슬라임이 움직이면 Score도 증가가 되었다. 랭크 페이지가 있길래 들어가보니, Insert문이 밑에 나와있었다. 게임이 종료가 된 후 DB에 저장이 될 때, 저 Insert문이 작동되는 것으로 추측이 된다. Score 부분에도 a태그로 되어 있어서 클릭해보니, 서버에 score 파라미터를 보내고 있었다. 그래서 혹시나 해서 점수 뒤에 작은 따음표를 넣어서 서버로 보내니, 'no hack'이 출력이 되었다. 입력값에 대한 검증을 한다는 것을 확인을 하고, 나는 어떤 문자를 검증하는지 확인하였다. 몇가지 테스트를 해보니, 작음 따음표와 큰 따음표에 'no hack'를 출력하였다. 생각을 해보니, 점수는 INT 타입으로 들어가니 작음 따음표와 큰 따음표가 들..
2021.06.02 -
[WEB] csrf-1 문제풀이 CSRF(Cross-site request forgery) 취약점은 웹사이트 취약점 공격방법중 하나로, 사용자가 자신의 의지와는 상관없이 공격자가 의도한 수정, 삭제, 등록 행위 등 특정 웹사이트에 요청하게 하는 공격이다. 문제를 확인해보자. 입력받은 URL을 확인하는 봇이 구현된 서비스에서 CSRF 취약점을 이용한 FLAG 획득 문제이다. 접속해보자. csrf 페이지에 접속해보자. csrf 페이지에 접속하면 csrf 파라미터로 alert(1)를 실행하는 스크립트 구문을 전달한다. 응답 화면에서는 script 구문이 필터링된 것을 볼 수 있다. -> alert(1) memo 페이지에 접속해보자. memo 페이지에 접속하면 memo 파라미터로 hello를 전달하고, 응답 화..
[dreamhack] csrf-1 문제풀이[WEB] csrf-1 문제풀이 CSRF(Cross-site request forgery) 취약점은 웹사이트 취약점 공격방법중 하나로, 사용자가 자신의 의지와는 상관없이 공격자가 의도한 수정, 삭제, 등록 행위 등 특정 웹사이트에 요청하게 하는 공격이다. 문제를 확인해보자. 입력받은 URL을 확인하는 봇이 구현된 서비스에서 CSRF 취약점을 이용한 FLAG 획득 문제이다. 접속해보자. csrf 페이지에 접속해보자. csrf 페이지에 접속하면 csrf 파라미터로 alert(1)를 실행하는 스크립트 구문을 전달한다. 응답 화면에서는 script 구문이 필터링된 것을 볼 수 있다. -> alert(1) memo 페이지에 접속해보자. memo 페이지에 접속하면 memo 파라미터로 hello를 전달하고, 응답 화..
2021.06.02