일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- spring Batch
- cloud run
- 웹보안
- webhacking.kr
- nodejs
- Python
- gcp ci/cd
- pwnable.xyz
- 네트워크
- Batch
- 사이버보안
- 웹해킹
- programmers
- node.js
- 회고
- 포너블
- 리버싱
- hackctf
- 보안
- docker
- 시스템 해킹
- sequelize
- 파이썬
- 스프링 배치
- gcp
- gcp cloud build
- kotest
- 프로그래머스
- Baekjoon
목록웹보안 (3)
uju's Tech
24번 문제에 들어가자마자 위와 같이 나옴을 볼 수 있다. 딱 보자마자 무엇을 의미하는지 잘 모르겠다. 그러니 ctrl+shift+i 를 눌러서 크롬 개발자 모드로 들어가보도록 하겠다. 소스를 확인해보니 주석 처리가 되어있는 부분이 보인다. source 가 index.phps라고 한다. 주소창에 url뒤에 index.phps라고 치고 들어가본다. 오.. 소스코드가 나온다!! 전체적의 의미를 파악하기 전에 solve부터 확인한다. $ip가 127.0.0.1 이면 풀린다고 한다. 그럼 코드를 하나씩 살펴보자. extract(): 배열 속의 키값을 변수화 시켜주는 함수 REMOTE_ADDR:현재의 클라이언트이 IP가 들어있다. 클라이언트의 IP가 존재하지 않으면 REMOTE_ADDR에 접속한 클라이언트 IP저..
18번에 들어가게되면 위와 같은 창이 나온다 sql injection으로 푸는 문제라는 것을 알 수 있다. index.phps 에 들어가서 보면 아래와 같은 코드가 주어진다. 소스를 살펴보면 eregi 하고 조건이 있고 그 조건을 만족하면 no hack을 출력한다는 것을 알 수 있다. eregi 는 문자열 필터링 함수이다. eregi("찾고자 하는 문자","임의의 값") 임의의 값에서 찾고자 하는 문자를 찾으면 조건이 만족되는 것을 알 수 있다. 그리고 대소문자로 우회가 가능한지 보았는데 eregi는 대소문자 구분을 하지 않기 때문에 대소문자로 우회가 불가능하다. |(파이프)를 기준으로 /,&,union,select,from,0x 등의 문자열들을 필터링을 한다. 위와 같은 문자열을 이용하면 no hack..
webhacking 4번을 풀어보겠다. 4번 문제를 들어가보면 제일 먼저 나오는 화면이다. password 와 password를 입력하는 부분 그리고 제출 버튼이 있는 것을 볼 수 있다. 위에 암호화된 문자열이 보인다. 이것이 password라고 추측해 볼 수 있다. 맨 뒤에 == 을 보고 base64 방식으로 암호화 되어진 것을 알 수 있다. base64 디코딩 사이트를 들어가서 복호화를 해보니 c4033bff94b567a190e33faa551f411caef444f2 이렇게 나온다. 이것을 보니 어떤 함수로 암호화 되는지 알 수 없어서 구글링을 해보았다. SHA1 알고리즘 방식으로 암호화 되었다는 것을 알 수 있었다. * SHA(Secure Hash Algorithm) : 암호학적 해시 함수들의 모음 ..