일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- col -1 from CursorWindow
- 백준
- 코틀린
- 포너블
- Make sure the Cursor is initialized correctly before accessing data for it.
- Docker
- 6566
- pwable.kr
- Drive-By-Download
- 페니빙
- java.lang.IllegalStateException
- 클라우드란?
- SQLiteConstraintException
- 클라우드가 뭐야
- 액션바 필요없숴
- 블록체인
- UNIQUE constraint failed
- 애너그램 그룹
- python
- pwnable.kr
- 파이썬
- 쏘큩
- Couldn't read row 0
- tlqkf
- 나이순 정렬
- kotlin
- cmd1
- cmd2
- 10814
- pwnable
- Today
- Total
목록SECURITY (44)
푸르미르
About 38 challenge 38번 문제는 100스코어의 비교적 낮은 스코어의 문제이다. 문제를 보면 “LOG INJECTION” 크게 적혀있고, 아래 간단한 입력 폼이 있다. login 과 admin 두개의 버튼이 존재하는데, login 은 폼의 submit 을 요청하고, admin은 페이지를 admin.php 로 리다이렉트 한다. 리다이렉트 된 페이지에서는 “log” 라는 짧은 메세지가 페이지에 출력되어있다. 이 후, 다시 이전 폼으로 돌아와서, 테스트 용도로 hax0r 이라 입력을 해보았다. 이 후, 다시 log 가 존재하는 페이지로 이동하니, 아래와 같은 로그가 생성되었다. log 생성 기준은 입력 시 아래와 같은 포맷으로 저장되는 것으로 유추된다. {요청 아이피}:{요청 값 = id} lo..
alert(1)를 실행시키면 만족하는 문제이다. 위와 같은 코드를 직접 입력하면, 다음과 같이 해킹하지 말란다.아무거나 대입해보니 필터링하는 문자열은 다음과 같다. sc, cr, ri, ip, pt, al, le, er, rt 이다. 아마 script랑 alert의 알파뱃 두 글자라도 들어가면 걸러지는 모양이다. 이를 우회할 수 있는 방법으로는 Null byte injection이 있다. XSS 공격 시도시에 자주 연계되는 인젝션이다.
문제 페이지에 들어가면 입력받는 폼이 하나 있고 check 버튼이 하나 존재한다. 이 것외에 아무것도 없기 때문에 페이지 소스를 확인해 보았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Challenge 17 unlock=100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+1/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*..
shell_exec함수 실행 중 났던 오류다. 오류문을 살펴보니 sys.stdout.encoding에 의한 오류였다. 처음에는 str()로 감싸져 있는 형태가 아니였다. str로 감싸기 전의 오류는 TypeError: encode() argument 1 must be string, not None이였다. 참고로 encode()는 파라미터가 python2.7 기준으로 아래와 같다. 그렇다면 여기서 argument 1은 encoding파라미터라고 판단하였다. 그래서 sys.stdout.encoding를 만진거고 lookupError가 났다. https://soooprmx.com/%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%97%90%EC%84%9C-%ED%95%9C%EA%B8%80%EC%9D%B4..
별 지랄을 해도 안되는 문제가 있었다. 프로젝트 보안상 경로를 노출시키는 것은 위험할 것 같아서 가렸다. 저 위의 두가지 명령어 뿐아니라 권한을 주는 등 여러가지 시도를 해보았지만 php안에서 파이썬 스크립트를 실행하는, 그거 하나만큼은 절대 안되었다. 시스템명령어를 사용하면 잘되는데 딱, 파이썬 파일만 실행하면 되지 않았다. 이유도 모르고 시간도 없기에 우리는 다른 방법을 모색하기로 하였다. os는 윈도우2012v이다. https://www.geeksforgeeks.org/php-shell_exec-vs-exec-function/ PHP | shell_exec() vs exec() Function - GeeksforGeeks A Computer Science portal for geeks. It con..
20번 문제이다. 문제만 보았을 때 nickname, comment, captcha를 입력하고 submit을 눌러야 하는 것 같다. 위와 같이 입력하였더니 too slow라는 글자가 나오고 사라진다. script문을 확인하였다. 뒤에 ck 함수가 있는 것을 보니 ck 함수를 호출하는 것 같다. hack 값과 attackme랑 같아야 한다. 값이 adgUZr5AAZ인 것을 발견하였다. 한 번 대입해보자. 틀렸다는 문구가 나왔다. 콘솔을 이용해보자 lv5frm.id.value=1; lv5frm.cmt.value=1; lv5frm.captcha.value=lv5frm.captcha_.value; lv5frm.submit(); 위와 같은 값을 콘솔에 입력해보자. 개발자도구의 콘솔에 위와 같은 입력 후 ENTER..
16번 문제이다. php 문제이다보니 소스 코드를 확인해보자. 페이지 소스코드를 보자. 여기서 주의해야 할 부분은 부분이다. 코드를 해석해보면 mv 함수으 경우, 100, 97, 119, 115, 124를 cd에 넘겨주게 되면 별이 움직이는 스크립트이다. 아스키코드로 넘겨주는 것 같다는 생각이 들었다. 확인해보니 100: d 97: a 119: w 115: s 124: |(파이프) 이제 키보드를 이용하여 눌러보자. 문제를 풀었다.
아 귀찮아 아귀찮아 ㅇㅎㅇㅎ 소스코드 대충 해석 들어가겠따. extract함수는 배열속의 키의 값들을 변수화시키는 것이다. htmlspecialchars()함수는 html코드가 들어가는 특수문자를 일반문자로 인식되어 출력되게 하는 것이다. 이 함수에 관한 설명은 아래 블로그에서 확인하였다. https://200301.tistory.com/10 [Webhacking.kr] 24번 문제풀이 [Webhacking.kr] 24번 문제풀이 오늘은 "Webhacking" 24번 문제를 풀었다. 밖의 날씨도 비가 오고 늦잠도 자버려서 점수 배점이 낮은 문제를 풀었다. 24번 문제에 들어가면 아래의 화면처럼 'client ip'와 'agen 200301.tistory.com 쿠키를 추가했다. 했다ㅣ
source를 봐보자. id가 admin이면 풀리는 것 같다. 그런데 단순히 admin을 인코딩하여 id=로 입력하여 넣으면 되지 않을 것이다. 왜냐하면 preg_match함수를 통해 필터링 하고 있기 때문에 아마 화면에 no가 뜰 것이다. admin을 인코딩을 두번한 값을 보내면 자동으로 디코딩되어 풀릴것이다. 왜냐하면 웹서버와 브라우저 간 통신할 때 자동으로 브라우저는 데이터를 인코딩하여 보내고 php는 지가 디코딩하기 때문이다. %61%64%6D%69%6E (admin을 한번 인코딩한 값)을 한번 더 인코딩하여 %2561%2564%256D%2569%256E값을 넣어보도록 하겠다. 인코딩하는 방법은 구글링하여 알아냈다. 풀었다. 난 이전에 한 번 풀어본 문제라 already solved가 나온 것이다..
옛날에 풀었는데 기억이 안난다. 다시 풀어보자:) view source 눌러 소스코드를 보자 다 필요없고 난 쿠키가 궁금하다. 그러므로 이것만 보겠다. 쿠키값이 4보다는 같거나 크면 안되고 3보다는 커야한다라. f12를 눌러 쿠키값을 확인해보자. user_lv값이 1로 되어있는데 이 쿠키값을 3.5로 변경해보자. 그러면 난 이미 풀어서 already solved라고 나오는데, 풀엇음 solved라는 alert가 나올것이다. https://webhacking.kr/challenge/web-01/