
61번의 소스이다. (), union, select, challenge, from, , , by가 필터링되고 있다. 쿼리 부분을 보면 우리가 입력한 값에 대한 칼럼을 조회하고 있는 것을 볼 수 있다. 아마 이 문제는 mysql을 이제 막 배워가는 사람이 제일 잘 풀지 않을까 .... 하는 생각이 들었다 제일 처음 배울때 문자열 출력을 위해 select "admin" 이런식으로 해본 경험이 있을것이다. 그 결과는 admin이고, 컬럼명 또한 admin으로 나온다. 그러므로 우리는 alias라는 별칭 지정 기능을 활용하여 칼럼명을 id로 지정을 해주어야 한다. select "admin" id 위 쿼리의 결과는 admin이며 컬럼명 또한 id로 나오는 것을 볼 수 있을것이다. 그렇다면 문제 쿼리의 입력값 부분..

60번 문제의 화면이다. 접근권한이 없다는 문구와 함께 소스코드를 보라고 링크를 걸어두었다. 그렇다면 소스를 보도록 하자 ! 위 소스코드의 행위는 아래와 같이 정리할 수 있다. 1. 1초 쉰다. 2. 세션에 숫자가 있으면 ACCESS Denied를 출력과 함께 종료 2-1. mode의 값이 auth 일경우 - readme/아이디.txt 파일을 연다. - 내용을 출력한다. - result의 내용과 아이디가 같으면 클리어! 2-2. readme/세션아이디 파일을 연다 - 파일에 아이디를 적는다. - IP가 127.0.0.1이 아니면 1초 후 파일의 연결을 끊는다. (순서도에서는 세션값 검증 부분이 빠져있음 ...) 우리의 접속 IP가 없기 때문에 우리의 ID로 만들어진 파일은 삭제될 수 밖에 없다. 따라서 ..
54번 문제의 화면이다. 우선 페이지에서 바로 확인할 수 있는 것이 없기 떄문에 소스를 보도록 하자. function run() { // 브라우저가 ActiveX Object를 지원한다면 if(window.ActiveXObject) { // Msxml2.XMLHTTP 객체 생성 시도 try { return new ActiveXObject('Msxml2.XMLHTTP'); } // 에러가 생긴다면 Microsoft.XMLHTTP 객체 생성 시도 // 그래도 에러 나면 NULL 리턴 catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { return null; } } } // 브라우저가 XMLHttpRequest를 지원한다..

52번 문제의 화면이다. header injection이라는 기술의 문제였다. (참고 : https://blog.naver.com/PostView.nhn?blogId=ilikebigmac&logNo=221457683300 ) header injection이란 CRLF(캐리지 리턴 라인 피드)라는 것을 이용한 공격으로 HTTP header내에 내가 원하는 값을 추가할 수 있도록 만들어주는 공격이다 해당 공격으로 쿠키를 임의로 생성할 수도 있고, 페이지 이동을 시킬수가 있다고 한다. 위의 헤더를 예로 이해를 해보도록 하자. 형광펜으로 칠해져 있는 부분이 입력값 부분이다. 내가 만약 mks5546\r\nSet-Cookie:쿠키이름=쿠키값 이런식으로 값을 넣는다면 쿠키 값 생성도 가능하다. 이러한 취약점으로 X..

49번 문제의 화면이다. SQL Injection 문제이다. 일단 소스코드를 보도록 하자. union, from, select, or, and, (, ), limit, , , /, by, desc, asc, cash, 공백, %09(탭) 등을 필터링하고 있다. 처음에는 필터링이 하도 많이 걸려있어서 겁을 먹었지만, 알고보니 간단한 문자열 우회 문제였다.... 필터링 되는 문자들을 보고 공백은 어떻게 우회하지 .... 하며 정답에 근접하게 까지 가서 30분은 삽질한 것 같다... char 함수를 써서 문자열을 만들기에는 괄호가 php 단에서 필터링되고 있어 불가능했고, 문자열 우회 하는 방법을 찾아야만 했다. SQL injection 문자열 우회라는 키워드로 검색을 해보니 (참고 : https://secu..

47번의 문제 화면이다 mail함수를 이용한 문제라고 써주셨다 ㅎㅎ 우선 소스코드를 한 번 보도록 하자. 이 문제는 메일 해더에 참조자를 추가해서 메일 지정한사람 외에도 메일을 수신할 수 있도록 하는 문제였다. 입력 값을 처리하는 순서를 보면 아래와 같다. 1. 입력값을 필터링 및 검증 없이 header의 From에 저장 2. header변수를 이용하여 메일 전송 그렇다면 우리는 header에 메일이 저장되는 부분을 이용하여 공격을 하면 된다. (참고 : https://webisfree.com/2016-05-31/[php]-mail()-%ED%95%A8%EC%88%98-%EC%9D%B4%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%ED%95%A8%EC%88%98-%EC%95%8C%..

43번의 문제 화면이다. 웹쉘을 업로드 하라는 문제였다. 풀고보니 굳이 웹쉘을 올릴 필요는 없었다. 단순히 서버측으로 업로드하는 파일에 대한 정보를 조작하는 문제였다. 웹쉘과 관련해서 공부를 해본적이 없기때문에, 상당히 막막한 문제였다. 우선 테스트 파일을 업로드 해봤다. 업로드가 되었고, 체크라는 버튼이 생겼다. 체크 버튼을 누르면 검은색 창에 흰색 네모가 출력되는 뭐 이상한 페이지가 나왔다. 업로드에 대한 부분은 알아보았고, 이제 웹쉘이란게 뭔지 알아봐야했다. 이스트 시큐리티에 간략하게 잘 정리가 되어있는 것 같아 그것으로 대체하겠다. https://www.estsecurity.com/securityCenter/commonSense/view/48 웹쉘(Webshell)이란 무엇인가요? | 이스트시큐리..
- Total
- Today
- Yesterday
- 써니나타스2번
- SuNiNaTaS 23번
- webhacking.kr
- SuNiNaTaS3번
- suninatas1번
- 써니나타스 4번
- SuNiNaTaS 7번
- Cent OS 8
- 써니나타스 6번
- 해시 디코딩
- 써니나타스 22번
- SuNiNaTaS 8번
- 써니나타스
- webhacking.kr 58번
- 써니나타스 23번
- SuNiNaTaS2번
- Cent OS8
- SuNiNaTaS 4번
- SuNiNaTaS 22번
- Suninatas
- 써니나타스3번
- Root원격접속차단
- 패스워드 파일 보호
- 써니나타스 7번
- webhacking.kr 42번
- 패스워드 복잡도 설정
- 써니나타스 8번
- 계정 잠금 임계값 설정
- SuNiNaTaS 6번
- Webhacking.kr 회원가입
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |