분류 전체보기

4.Orc 풀이. 소스 코드는 id가 admin이고, pw가 사용자가 입력한 값과 일치하는 id를 select하는 쿼리문.실제 DB에 저장되어 있는 admin의 pw와 사용자가 입력한 값이 같아야 한다.즉, 실제 admin의 pw를 알아야 한다. 생소한 함수들이 몇 개 있으니 분석해본다. $_GET[pw] = addslashes($_GET[pw]);addslashes는 DB에 저장이 될 때 특수문자 앞에 \를 넣어준다.$query = "select pw from prob_orc where id='admin' and pw='{$_GET[pw]}'";$result = @mysql_fetch_array(mysql_query($query));if(($result['pw']) && ($result['pw'] ==..
3.Goblin 풀이. 첫 화면.만약 select 된 아이디가 있다면 Hello id를 출력하고, 아이디가 admin이라면 문제를 풀 수 있다.일단 guest의 no가 뭔지를 확인하기 위해 숫자를 입력해보겠다.1을 입력했을 때 Hello guest 출력. no => 1 , 0 or 2id => guest, admin 즉 select한 id가 admin일려면 id를 admin으로 하거나 no가 0 or 2가 되면 된다.일단 id=admin을 조건으로 해서 공격을 해본다.admin은 문자열이기 때문에 싱글 쿼터[']로 묶어야 하고, 코드 상에 '와 "에 대해서 필터링이 되서 아래와 같이 출력된다. 일단 No Quotes ~_~ 라고 뜬다. no quotes는 따옴표 없다는 것. 오류.우회하기 위해 아스키 코..
2.Cobolt 풀이. 일단 md5는 어떤 문제를 풀 때 언급한 거 같지만 간단히 소개하겠다.md의 사전적 정의는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. md5기본 개념 세 평문(sorry, you say sorry, you said sorry)은 길이가 다르지만 해시 결과는 32개 문재(16진수)로 길이가 같다,MD5알고리즘은 512비트 단위의 메시지 블록들에 대한 128비트(16바이트)해시값을 생성한다.해시값을 통해 해시되기 전의 값을 추측하는 것이 불가능 하게 하는 해시의 특성덕분에 단어 하나만 틀려도 다른 값이 나온다. 단 다른 데이터를 입력해도 해시 결과값이 같을 수 있는데 이를 충돌(..
1.gremlin 풀이. SQL Injection 문제를 풀 수 있는 Wargame 사이트...=>> https://los.eagle-jump.org/ 첫 화면. $query = "select id from prob_gremlin where id= '{$_GET[id]}' and pw='{$_GET[pw]}'";조건은 $result['id']만 있으면 되서 참만 맞춰주면 된다.pw는 무시하기 위해서 주석 처리한다.필터링은 딱히 없는 거 없고, 싱글 쿼터['] 잘 맞춰주면 될 거 같다. 즉 ?id=0'||1이면 true.cf) 일단 0'||1을 넣게 되면 id='0'||1 형식이 되고, 문자열의 값은 0으로 인식된다.일치하지 않으면 False. 1과 같은 정수는 기본적으로 참의 성질을 가지고 있고, 거짓과..
Webhacking.kr Challenge 42 풀이. 첫 화면이다. download 버튼이 2개가 있다.test.txt의 다운로드를 눌렀다. test.zip의 다운로드를 눌렀다. 일단 페이지 소스를 본다. 일단 주석 처리된 부분을 보면 test.zip 패스워드는 숫자로만 되어 있다.test.zip을 받아야 된다. 원래 처음 본 화면으로 들어가서 F12를 누른다. test.txt download 링크는 하이퍼 링크인 주소다.test.zip의 download 링크는 접근 거부[=Access Denied]이 뜨는 하이퍼 링크 주소다.txt에 있던 dGVzdC50eHQ= 는 뭘까?대,소문자 숫자가 있는 것으로 봐서는 인코딩된 문구라고 생각한다.=
Webhacking.kr Challenge 12 풀이. 12번 화면이다.일단 자바스크립트 언어인 것만 알 수 있다.일단 별 다른 것이 없으니 오른쪽 마우스를 눌러 페이지 소스를 본다. 무슨 숫자들이 많이 나열되어 있고, 아래 보면 WorkTimeFun이라는 변수에 String.fromCharCode 함수를 통해 아스키 코드를 알파벳 문자로 바꾸어 저장하도록 되어 있다.그 아래 eval 함수를 통해 이를 실행한다.String.fromCharCode ==> 숫자들을 아스키 코드로 반환.eval ==> 문자열을 자바스크립트 코드로 변환시켜주는 함수.일단 저 숫자들은 앞에서 자바스크립트 언어라는 것을 알았으니 크롬 개발자 도구의 Console에서 실행시켜 봤다. 자바스크립트 코드라는 것을 알 수 있다. 코드를 ..
Webhacking.kr Challenge 36 풀이. hint가 vi(편집기) blackout(쩡전)이라는 뜻 같다.index.phps와 같은 hint가 있는 것도 아니니 오른쪽 마우스를 눞러 페이지 소스를 눌러본다. 페이지 소스인데 정말 아무것도 없다.일단 블랙아웃은 위에서도 말했듯이 정전이라는 것을 뜻하고 프로그램이 진행 중에 꺼졌다는 것을 말한다.vi는 흔히 알고 있는 vi 편집기를 의미한다.즉 vi를 쓰는데 진행 중에 블랙아웃이 일어났고, 이럴 경우 vi는 비정상으로 종료할 때는 작성중이던 파일 명에 확장자가 swp인 파일이 추가 생성된다.우리가 Webhacking.kr 문제를 풀면서 알았듯이 index.php일 것이다. index.php 파일이 블랙아웃 되었을 것이다.즉 index.swp 파일..
Webhacking.kr Challenge 23 풀이. 화면에도 나왔듯이 가 실행되어야 문제가 풀릴 거 같다. 임의로 asdf를 입력하니 no hack이라고 나왔다. 일단 페이지 소스를 한 번 봐보자. 딱히 문제 해결에 도움이 될만한 코드가 없다. 다시 원래 화면으로 돌아오면 스크립트 구문을 삽입하여 제출하면 되는 건 확실하다.즉 구문 중 특정 어떤 부분이 필터링이 걸리는 것 같다.몇 번 시도를 해봐야 겠다. 가능,
Allblackk
'분류 전체보기' 카테고리의 글 목록 (28 Page)