일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 워게임
- pwnable
- PWN
- Operating System
- webhacking
- Spring Framework
- Lord of BOF
- 운영체제
- Buffer Overflow
- hacking
- BOF
- Spring MVC
- 네트워크
- LOB
- 정보처리기사 실기
- SQL
- wargame
- Spring
- 정보보안기사 실기
- Pwnable.kr
- 웹해킹
- 해킹
- Shell code
- Payload
- system hacking
- OS
- System
- 정보보안기사
- webhacking.kr
- stack overflow
- Today
- Total
목록분류 전체보기 (171)
DongDD's IT
[webhacking.kr] Level 33 문제에 들어가보니 Wrong이라는 문자와 함께 소스코드를 보여주는 url이 나타나 있었다. 일단 소스코드를 보고 분석해보기로 했다. 소스코드를 보니 GET방식으로 get에 "hehe"를 전송하면 통과되는 형태로 되어 있었다. 그래서 바로 시도를 해보았다. 생각대로 GET방식으로 get에 "hehe"를 전송하니 Wrong이 없어지고 Next가 나왔다. 문제가 연계되어있는 형태인 것 같다. Next를 누르니 lv2.php로 넘어가졌고 소스코드를 보기전에 혹시 다음 페이지는 lv3.php가 아닐까 해서 입력해봤는데 없는 페이지라고 나왔다.그래서 그냥 소스코드를 보고 풀기로 했다. 소스 코드를 보니 이번에는 POST방식으로 post에 "hehe", post2에 "he..
[webhacking.kr] Level 38 문제에 들어가보니 LOG INJECTION이라고 써있었다. LOG INJECTION에 대해서 잘 모르지만 대충 찾아보니 Log를 삽입하여 생기는 취약점이라고 되어있었다.그래서 일단 admin을 넣어보았다. admin을 넣어보니 'you are not admin'이라는 메시지가 출력되었다. 실패한 것 같아서 다른 값을 넣어보았다. guest를 넣고 Admin 버튼을 눌러보았더니 다음과 같은 형태로 기록되어있는 것을 볼 수 있었다. 내 IP주소와 함께 내가 입력한 guest가 기록되있는 것을 볼 수 있었다. 혹시나 해서 IP주소와 함께 admin을 입력했더니 문제를 통과할 수 있었다. ************** Answer & Flag **************
[webhacking.kr] Level 4 문제에 들어가니 암호화 된 것 같이 보이는 문장이 써있었다. ==이 있는 것으로 보아 base64로 인코딩된 문자 같아서 base64로 디코드 해보았다. base64로 디코드하고 보니 새로운 문장이 나왔다. 이것이 답인가 해서 제출해 보았다.변화가 없는 걸로 보아서 틀렸다고 생각되었고 이것 또한 암호화된 코드라고 생각했다.'c4033bff94b567a190e33faa551f411caef444f2' 16진수처럼 보이고 40글자로 인코딩되어 있는 것 같아서 SHA-1로 암호화 된 것이 아닐까 하고SHA-1로 복호화를 해보았다. https://www.hashkiller.co.uk/sha1-decrypter.aspx 위 사이트를 이용해 복호화했다. 복호화에 성공할 수 ..
Delivery, Fowarding of IP packet Delivery - Packet을 최종 목적지에 도달하게 하기 위한 방법- Direct, Indirect 1) direct delivery - source와 destination이 한 network에 있는 경우- router -> destination- source -> destination2) indirect delivery- source와 destination이 다른 network에 있는 경우- router -> router- source -> router Forwarding - next hop으로 packet을 전송하고 마지막 destination에 packet을 전달하기 위한 방법 1) Routing tables based on route..
[webhacking.kr] Level 24 문제에 들어가니 IP주소가 써있고 기타 정보들, 그리고 Wrong IP라는 message를 볼 수 있었다. 대충 이러한 정보들을 보고 소스코드를 보기로 했다. 이번 소스에서는 모르는 함수와 모르는 변수들이 좀 있었다. 어떻게 풀어야될지 알려면 함수와 변수들이 필요할 것 같아 찾아보았다.extract 함수는 배열에서 현재 심볼 테이블로 변수를 가져오는 것이라고 설명되어 있었다.$_SERVER는 기본적으로 있는 변수로 안에 여러가지 정보들이 저장되는 것 같았다.$_SERVER를 변수화 시키기 위해 extract를 쓰는 것 같았다.그 이후 REMOTE_ADDR이 없다면 SERVER의 REMOTE_ADDR을 넣어주고 이 값을 ip에 넣어주고, 정보를 agent에 넣어..
IPv4 Address Classless Network - Classful과 달리 특정한 기준으로 address가 나눠져 있지않음- bit 단위의 mask가 필요- netid : prefix, hostid : suffix Slash Notation - Classless network의 prefix를 알기 위해 사용ex) 132.123.54.32/26 -> prefix : 26 -> 이 형태로 표시해줘야함 Subnet rule - 작은 순서로 subnet을 나눴을 때 사용되지 않는 경우가 생김-> address수가 많은 순대로 하면 뒷부분에 사용하지 않는 부분이 남음 ex) 14.24.74.0/24 block 1 : 120 addresses, block 2 : 60 addresses, block 3 : 1..
IPv4 Address IPv4 Address - 32bits long- 유일한 주소- 2^32까지 사용할 수 있음- 2진수, 10진수, 16진수로 나타낼 수 있음 ex) 10000000 00000001 00001111 00001101128 . 1 . 15 . 13 -> 10진수+2진수 형태로 나타내는 것은 불가능-> 앞의 0은 생략-> 10진수로 나타낼 경우 값의 범위는 0~255 Classful address - 주소에 따라 구분, 관리하기 쉽게 class로 나누는 방식 1) Class A - 2^31개의 주소를 가지고 있음 - 2진수로 나타냈을 때 첫 자리가 0으로 시작하는 주소 - 10진수로 나타냈을때 첫 바이트가 0~127로 시작하는 주소2) Class B - 2^30개의 주소를 가지고 있음 -..
[pwnable.kr] lotto 문제 풀이 로또라는 문제 제목을 보고 되게 재밌을 것 같다는 생각이 들었다. 문제에는 lotto 프로그램을 숙제로 만들었는데 플레이해볼 것인지 물어보고 있었다. 다른 문제와 마찬가지로 flag파일과 lotto 실행 파일, lotto.c 소스코드가 주어져 있었다.일단 소스 코드를 확인해보았다. main은 단순히 while문에 1,2,3 을 입력 받을 수 있게 되있었고 2는 help로 사용법을 출력해주는 함수였고 3은 종료였다. 2번 help와 3번 종료는 문제풀이에 사용되지 않는 것 같아서 1번인 play 이미지만 첨부했다. submit에 stdin으로 6자리를 읽고 /dev/urandom 파일을 열어 6자리를 읽는 형태로 되어있었다./dev/urandom에서 잘 몰라서 ..
[webhacking.kr] Level 27 문제에 친절하게 SQL INJECTION이라고 써있는 것을 보아 SQL INJECTION 문제인것 같았다. GET방식으로 no를 보내는 것으로 보이고 index.phps를 보라고 써있었다. 소스코드를 보니 Level 18번 문제와 비슷한 형식으로 되어있었다. 저번과 마찬가지로 필터링이 들어가있고 해당 쿼리를 실행해 select으로 얻어오는 것이 admin이면 통과하는 것처럼 보였다. 필터링 확인을 해보기 위해 일단 '1 or 1 = 1'을 입력해보았다. no hack이라고 나오는 것을 보아 필터링에 걸린 것을 알 수 있었다.limit, \t, (, = 등 여러가지 필터링이 걸려있어 일단 공백을 통과해보기로 했다.저번에 풀었던 비슷한 문제에 걸려서 사용했었던 '..
[webhacking.kr] Level 39 문제를 들어가 보니 box하나와 button 하나가 있었다. 페이지 소스를 보니 index.phps가 써있어 저 페이지로 들어갔다. POST방식을 통해 id를 받고 \\를 모두 지우고 '를 모두 ''로 바꿔준 후에 0~14까지의 string을 _POST[id]에 넣어주는 형태로 되어 있었다.주어진 소스에서 query문은 싱글 쿼터로 시작해서 끝을 내지 않는 것을 보고 15글자를 짜르기 때문에 15번째에 싱글 쿼터를 써서 두개의 싱글 쿼터중 하나를 잘라야겠다는생각이 들었다. box에 입력할 수 있는 최대길이가 15인것으로 보아 첫번째 replace문을 필요없는 것 같았고처음에는 1 or 1=1 ' 를 사용하여 시도를 해보았다. 쿼리문 오류로 생겼던 에러가 생기지..