일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- filter()
- arrange()
- proc contents
- mutate()
- dplyr
- samp;e_frac()
- distinct()
- AES
- 대칭형 알고리즘
- sample_n()
- select()
- summarize()
- groupe_by()
- Today
- Total
목록웹해킹 /[webhacking.kr] (21)
Gae Ko's Blog
주소창으로 보니 file값에 hello가 들어가 있다. 그리고 화면엔 hello world가 출력되어 있다. 화면에 있는 세 개의 파일 중 hello.txt를 열어본 거임을 유추할 수 있다.그럼 나는 password가 알고 싶으니까 passwor.php를 열어보면 될 거 같다. 그래서 file값으로 password를 넣어봤는데 아무런 변화없이 화면에 hello world가 출력된다.[ 입력하여 집어넣은 file값 → 열리는 파일 (결과) ] hello → hello.txt hello.txt → hello.txt index.php → hello.txt password.php → hello.txthello → hello.txt 를 통해 입력하여 넘겨준 file값에 '.txt'라는 문자를 자동으로 붙여준다고 ..
- XSS공격이란?XSS(Cross-site Scripting)는 웹 상 가장 기초적인 취약점 공격방법의 일종으로, 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말한다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의도치 않은 행동을 수행시키거나 쿠키나 세션 토크 등의 민감한 정보를 탈취한다.(참고 : http://brownbears.tistory.com/250)이 문제는 이처럼 스크립트문을 올려서 삽인된 코드를 실행하게 하는 문제이다.주어진 스크립트문은 로 그냥 통째로 넣어봤다.이를 통해 GET방식으로 값을 넘겨주며 특정 문자를 필터링하고 있는 걸 알 수 있다. 그래서 무슨 문자를 필터링하는 지를 유추해보기 위해 하나하나 해보았다.해보니 영문자가 연속으로..
- pref_match( ) : 정규표현식 매치를 수행 preg_match( string $pattern, string $subject ) pattern에 주어진 정규표형식을 subject에서 찾는다. - 정규표현식 " " : 패턴을 만들 때 들어가는 기본형식/ : 처음과 끝을 나타냄[ 집합] : 집합에 포함되는 임의의 문자 하나 { n } : 앞에 문자를 n번 반복* : 없거나 1개 이상. : 임의의 한 문자 (정규표현식 참고 : https://docs.microsoft.com/ko-kr/sql/relational-databases/scripting/search-text-with-regular-expressions) 문제를 보니 val값을 GET방식으로 입력받는데 preg_match함수를 통해서 조건에..
문제페이지의 소스코드 index.phps로 이동해본다.if문을 보면 email값이 POST방법으로 전송되면 mail함수를 실행한다고 한다.mail함수란?이메일을 보내는 함수로 bool mail ( string $to , string $subject , string $message [, string$additional_headers [, string $additional_parameters ]] )형식으로 사용된다.to : 메일 수신자 subject : 보낼 이메일의 제목message : 보내질 메세지 additional_headers : 이메일 헤더 마지막에 추가될 문자열 헤더를 추가하기 위해서 사용. 헤더부분에는 From, Cc, Bcc등을 추가할 수 있고 여러 추가 헤더는 \r\n 으로 구분해줘야함...
문제를 보니 헤더생성을 누르면 ?id=TJDGH 로 설정된다고 한다. 그리고 id=TJDGH 라는 쿠키를 생성하라고 한다. 구글로 헤더인젝션을 찾아보았다. 그래서 ?id=TJDGH%0d%0aSet-Cookie:%20id=TJDGH 라고 url에 입력해보았다.%0d%0a는 개행문자로 다음 줄로 넘어가는 역할을 하고 저 값을 url디코딩해보면 ?id=TJDGHSet-Cookie: id=TJDGH 이기 때문에 문제 말대로 id=TJDGH 라는 값을 넘겨주면서 id=TJDGH 라는 쿠키를 생성한다.라고 생각해서 해보았는데 안되네요 ㅠㅠㅠㅠ 뭐가 문제일까요 ??? ㅠㅠㅠ Burp Suite 사용법 http://lng1982.tistory.com/139HTTP 프로코콜 http://blog.sonim1.com/94
문제페이지에 대한 소스코드를 보니 POST방식으로 값을 넘겨주고 있다고 한다. 그리고 admin.php로 이동하라는 말인거 같다. 그래서 문제페이지의 admin버튼을 눌러 이동해 보니 이런 페이지가 나왔다. 그리고 이거에 대한 소스코드를 보니 admin이 힌트라고 한다. 다시 문제 페이지로 돌아가서 log창에 a라고 넣어 보고 login버튼을 누르니 아무런 변화가 없다. 원하는 값이 안들어와서 인거 같다.우연히 Admin버튼을 눌러봤는데 신기한 것을 발견했다.내가 값을 집어 넣을 때마다 이 페이지에 내IP:입력값 형태로 기록이 남고있었다.아까 힌트가 admin이라고 했으니 입력값으로 admin을 집어넣어 봤다.오 admin 문자를 인식하고 있는거 같다. 어떻게든 admin을 넣으라는 말인거 같았다. 그리..
test.txt의 download를 누르면 http://webhacking.kr/challenge/web/web-20/6dd75b248af291f3bf164e28e3acd811/test.txt 로 페이지가 넘어가고 test.zip의 download를 누르면 'Access Denied'라는 알림창이 뜬다. 주석부분이 힌트같지만 뭔지 모르겠다.근데 소스코드를 보면 test.txt 의 download를 눌렀을때 옮겨지는 경로가 ?down=dGVzdC50eHQ= 라고 한다. 수상하다. 뒤에 = 라고 되있는걸 보니 base64가 떠오른다. 통째로 넣고 base64하니까 아무 변화 없다. 생각해보니까 base64는 영대소문자와 숫자 그리고 -와 +로만 사용한다.그래서 dGVzdC50eHQ= 를 base64디코딩해보..
저걸 눌러보니 php코드를 보면 id를 GET방법으로 입력받는데 id값을 eregi()함수로 필터링한다."admin"라는 문자열이 포함되어 있으면 no!라고 알리고 아웃 -> id값에 admin이라는 문자열이 포함되있어서는 안된다.입력받은 id값을 url디코딩한 결과를 id값으로.id에 저장된 값이 'admin'이면 문제가 풀린대. 근데 영어와 숫자들은 urlencoding을 해도 바뀌지 않는다. 어떻게 하지...url인코딩 표를 찾아보니 영어도 되나보다.이 표를 통해 admin을 url인코딩한 값이 %61%64%6d%69%6e 이다. 근데 이 값을 그대로 넣으면 no!라고 뜬다. 왜냐면 php에서 %61%64%6d%69%6e 를 url디코딩한 결과값으로 자동 인식하기 때문에 eregi함수에서도 필터링되..
이 페이지의 소스페이지를 보면 index.phps (주석처리된 부분)로 넘어가면 뭐가 있나보다. ( source가 '출처'라는 뜻이므로 index.phps가 출처라는 뜻) [코드 풀이]변수 server와 cookie를 extract함수로 extract( ) 함수란 ? -> extract( $array ) 로 사용 배열속의 키값들을 변수화 시킨다$_GET, $_POST, $_SERVER 같은 전역변수에 사용하게 되면 보안상의 문제가 있다고 한다.취약하지 않도록 사용되는 경우는 변수를 선언하기 전에 extract 함수를 사용하거나 extract로 바꿔진 변수가 다시 다른 값이 들어가게 되면 취약하지 않다. 또한 공격자가 내부 변수명을 알아야 공격이 가능하다는 점과 extr_skip이 옵션으로 선언된다면 취약..
문제를 보니 음 index.phps가 힌트라는 건가 ㅎ 소스코드를 봐야겠다 ! 아 index.phps를 누르면 "/index.phps"경로로 이동된다고 한다. 눌러보니 php 소스코드가 보인다.12345678910111213141516171819202122232425262728293031323334Challenge 1-------------------------- index.phps -----Colored by Color Scriptercs [코드분석]2-6 : if문으로 "user_lv"라는 쿠키에 값이 비어있으면 "1"이라는 값을 넣고 새로고침해라 19 : 변수 password에 "????"라는 값으로 저장21 : 만약 "user_lv"쿠키값이 숫자가 아닌 문자가 있으면 "user_lv"쿠키값은 1로..