워게임
-
공격 백터 Get 메소드 : pw 입력 값에 대한 검증 pw : prob, _, ., rollup, join, @ 필터링 코드 설명 if(preg_match('/prob|_|\.|rollup|join|@/i', $_GET['pw'])) exit("No Hack ~_~"); 위에 언급하였던 prob, _, ., rollup, join, @ 필터링이다. pw에 필터링 목록이 있다면 No Hack ~_~을 출력하고 종료한다. $query = "select pw from prob_ouroboros where pw='{$_GET[pw]}'"; echo "query : {$query} "; 필터링에 걸리지 않았다면 select pw from prob_ouroboros where pw='{$_GET[pw]}'에 삽입..
[Lord of SQLInjection] Ouroboros Write UP공격 백터 Get 메소드 : pw 입력 값에 대한 검증 pw : prob, _, ., rollup, join, @ 필터링 코드 설명 if(preg_match('/prob|_|\.|rollup|join|@/i', $_GET['pw'])) exit("No Hack ~_~"); 위에 언급하였던 prob, _, ., rollup, join, @ 필터링이다. pw에 필터링 목록이 있다면 No Hack ~_~을 출력하고 종료한다. $query = "select pw from prob_ouroboros where pw='{$_GET[pw]}'"; echo "query : {$query} "; 필터링에 걸리지 않았다면 select pw from prob_ouroboros where pw='{$_GET[pw]}'에 삽입..
2021.08.27 -
공격 백터 Get 메소드 : joinmail, email 입력 값에 대한 검증 joinmail : duplicate 필터링 email : htmlentities 함수, addslashes 함수 코드 설명 if($_GET['joinmail']){ if(preg_match('/duplicate/i', $_GET['joinmail'])) exit("nice try"); $query = "insert into prob_phantom values(0,'{$_SERVER[REMOTE_ADDR]}','{$_GET[joinmail]}')"; mysqli_query($db,$query); echo "query : {$query}"; } joinmail의 입력이 있을 경우 내 아이피 주소와 입력한 joinmail이 ins..
[Lord of SQLInjection] Phantom Write UP공격 백터 Get 메소드 : joinmail, email 입력 값에 대한 검증 joinmail : duplicate 필터링 email : htmlentities 함수, addslashes 함수 코드 설명 if($_GET['joinmail']){ if(preg_match('/duplicate/i', $_GET['joinmail'])) exit("nice try"); $query = "insert into prob_phantom values(0,'{$_SERVER[REMOTE_ADDR]}','{$_GET[joinmail]}')"; mysqli_query($db,$query); echo "query : {$query}"; } joinmail의 입력이 있을 경우 내 아이피 주소와 입력한 joinmail이 ins..
2021.08.26 -
공격 백터 : pw 입력 값에 대한 검증 pw : prob, _, ., (, ), addslashes 함수 if(preg_match('/prob|_|\.|\(|\)|union/i', $_GET[pw])) exit("No Hack ~_~"); $_GET[pw] = addslashes($_GET[pw]); $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_frankenstein where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw']))..
[Lord of SQLInjection] Frankenstein Write UP공격 백터 : pw 입력 값에 대한 검증 pw : prob, _, ., (, ), addslashes 함수 if(preg_match('/prob|_|\.|\(|\)|union/i', $_GET[pw])) exit("No Hack ~_~"); $_GET[pw] = addslashes($_GET[pw]); $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_frankenstein where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw']))..
2021.08.25 -
4단계 문제풀이 바로 시작하도록 하겠습니다. 1. 문제 문제 접근 시 user-agent 값이 admin 브라우저가 아니라고 나오네요 2. 문제풀이 어떠한 값으로 되어있는지 확인하기 위해 요청 패킷을 잡아보았습니다. 크롬으로 접속이 되었다는 표시가 보이네요 응답 패킷을 보니 admin 브라우저가 아니라는 말이 뜨네요... 간단히 user-agent 헤더에 admin을 입력해 보겠습니다. 결과는... 패스워드 값이 나오게 되었습니다. 패스워드를 검증해보니... 파랑새가 나와 축하해 주며 포인트를 지급해주었습니다. 원래 안되면 다른 브라우저의 기본 user-agent 값을 모두 대입해보려 했지만, 다행히 문제가 admin입력만으로 풀리게 되었다. 오늘의 문제풀이 끄읏~
[Root-Me]/Web Server/HTTP - User-agent4단계 문제풀이 바로 시작하도록 하겠습니다. 1. 문제 문제 접근 시 user-agent 값이 admin 브라우저가 아니라고 나오네요 2. 문제풀이 어떠한 값으로 되어있는지 확인하기 위해 요청 패킷을 잡아보았습니다. 크롬으로 접속이 되었다는 표시가 보이네요 응답 패킷을 보니 admin 브라우저가 아니라는 말이 뜨네요... 간단히 user-agent 헤더에 admin을 입력해 보겠습니다. 결과는... 패스워드 값이 나오게 되었습니다. 패스워드를 검증해보니... 파랑새가 나와 축하해 주며 포인트를 지급해주었습니다. 원래 안되면 다른 브라우저의 기본 user-agent 값을 모두 대입해보려 했지만, 다행히 문제가 admin입력만으로 풀리게 되었다. 오늘의 문제풀이 끄읏~
2021.08.23 -
Web Server 문제 3번째 문제를 풀어보도록 하겠습니다. 2번째 문제는 너무 난이도가 있어서 추후에 등록하겠습니다. 바로 문제풀이 보시죠~ 1. 문제 문제 접근 시 화면입니다. 여러 커뮤니티가 있으며 클릭 시 리다이렉트가 되고 있습니다. 2. 문제 풀이 문제 접근 전 어떠한 문제인지 보면 리다이렉트 되는 도메인을 타사이트로 변경하라는 문제임을 알 수 있습니다. 이를 위해 Facebook을 클릭하여 요청 패킷을 잡아 보았습니다. url 부분을 보면 url = https://facebook.com으로 등록이 되어있습니다. 저는 이 부분을 리다이렉트 시키는 방법 중 기본적인 방법으로 타 사이트 도메인 주소를 적어주었습니다. url=https://facebook.com -> https://naver.com..
[Root-Me]/Web Server/HTTP - Open redirectWeb Server 문제 3번째 문제를 풀어보도록 하겠습니다. 2번째 문제는 너무 난이도가 있어서 추후에 등록하겠습니다. 바로 문제풀이 보시죠~ 1. 문제 문제 접근 시 화면입니다. 여러 커뮤니티가 있으며 클릭 시 리다이렉트가 되고 있습니다. 2. 문제 풀이 문제 접근 전 어떠한 문제인지 보면 리다이렉트 되는 도메인을 타사이트로 변경하라는 문제임을 알 수 있습니다. 이를 위해 Facebook을 클릭하여 요청 패킷을 잡아 보았습니다. url 부분을 보면 url = https://facebook.com으로 등록이 되어있습니다. 저는 이 부분을 리다이렉트 시키는 방법 중 기본적인 방법으로 타 사이트 도메인 주소를 적어주었습니다. url=https://facebook.com -> https://naver.com..
2021.08.23 -
11번은 UNION 또는 JOIN이 블랙리스트로 필터링이 되어 있다고 설명되어져 있다. 또한 User ID 입력 폼에 숫자 이외의 문자는 입력이 방지되어 있는 듯 하다. 바로 소스보기를 통해서 확인해보자. 보면 위에서 말한것처럼 id 값을 is_numeric 함수에서 2미만의 값과 숫자만 입력할 수 있게 설정되어 있다. 그리고 아래 내용을 보면 SQLite을 사용하고 있으며, query문에 자세히 보면 SELECT id, username FROM $table 값이 들어가는 것을 볼 수 있으니 우리는 $table에 값을 넣어 flag 값을 얻으면 된다. 바로 넣어보자. 그러면 이렇게 flag 값을 얻을 수 있었다.
[websec.fr] easy - Level 1111번은 UNION 또는 JOIN이 블랙리스트로 필터링이 되어 있다고 설명되어져 있다. 또한 User ID 입력 폼에 숫자 이외의 문자는 입력이 방지되어 있는 듯 하다. 바로 소스보기를 통해서 확인해보자. 보면 위에서 말한것처럼 id 값을 is_numeric 함수에서 2미만의 값과 숫자만 입력할 수 있게 설정되어 있다. 그리고 아래 내용을 보면 SQLite을 사용하고 있으며, query문에 자세히 보면 SELECT id, username FROM $table 값이 들어가는 것을 볼 수 있으니 우리는 $table에 값을 넣어 flag 값을 얻으면 된다. 바로 넣어보자. 그러면 이렇게 flag 값을 얻을 수 있었다.
2021.08.22