티스토리 뷰
1. 24번 메인화면
- 겉만 보기에는 현재 사이트에 접속해있는 ip와 agent를 가져오네요.
2. index.phps로 들어가보면 소스가 나옵니다.
- 첫 번째 소스를 보시면 extract는 배열속의 키의 값들을 변수화 시키는데, 예를 들어서
ex) extract($_GET); -> $_GET['a'] == $a 같이 배열속의 a를 변수화 시킵니다.
$_SERVER와 $_COOKIE 배열속의 무언가를 변수화 시키겠죠?
밑에 $REMOTE_ADDR는 클라이언트의 IP주소를 가져오고, $HTTP_USER_AGENT는 클라이언트의 접속환경 정보를 가져오는 PHP의 환경변수에요.
여기서 중요한 것은 $_SERVER 보다 $_COOKIE가 나중에 처리되었기 때문에 $REMOTE_ADDR, $HTTP_USER_AGENT 같은 쿠키를 조작할 수가 있습니다. 많이 쓰이니까 찾아서 공부하시는 것도 좋을 겁니다.
if문을 보시면 만약 쿠키 중에서 이름이 "REMOTE_ADDR"인 값이 있으면, str_replace함수로 인해서 값이 변경됩니다.
그 밑의 if문을 보시면 $ip 값이 127.0.0.1이되면 성공이라고 뜨는데, (12/7./0.)을 공백으로 바꿔버리니 127.0.0.1로 ip를 쿠키변조해도 남는 것은 '1'이 될 것입니다. 전체적인 소스 설명은 이렇구요. 쿠키 변조를 해보겠습니다.
3. 저 같은 경우는 크롬을 쓰다보니 EditThisCookie 확장프로그램을 사용해요. 편리하기도 하구요.
EditThisCookie를 열고서 REMOTE_ADDR 쿠키값을 생성해줍니다.
4. 값을 SUSPECT로 바꿨더니 client ip가 SUSPECT로 바뀌는 것을 볼 수가 있습니다. 쿠키 변조가 통한다는 것을 의미하는데, 이 것을 응용해서 client ip를 루프백 주소(127.0.0.1)로 변경을 해보겠습니다.
5. 예상대로 str_replace로 필터링을 당해서 1만 남은 것을 볼 수가 있습니다.
6. (12/7./0.)가 필터 된다는 것을 유의하고 127.0.0.1에 우회할 수 있는 숫자를 추가해보면 밑의 그림과 같이 빨간 색 부분이 필터링 되고 남은 검정 색 부분 127.0.0.1이 남는 것을 볼 수가 있습니다.
7. 우회 값을 만들었으니, REMOTE_ADDR 쿠키 값에 넣어 보겠습니다.
8. client ip가 127.0.0.1이 된 것을 볼 수가 있습니다. Clear!
'Wargame > webhacking.kr' 카테고리의 다른 글
Webhacking.kr 42번 문제 풀이 (0) | 2015.07.03 |
---|---|
Webhacking.kr 5번 문제 풀이 (2) | 2015.07.03 |
Webhacking.kr 38번 문제 풀이 (0) | 2015.06.30 |
Webhacking.kr 26번 문제 풀이 (0) | 2015.06.30 |
Webhacking.kr 58번 문제 풀이 (0) | 2015.06.30 |
- Total
- Today
- Yesterday
- 해킹메일
- .wll
- Servey
- CVE-2018-0798
- Decoding
- 스피어피싱
- us-cert
- AMSI
- CVE-2018-9375
- idapython
- Static Analysis Engine
- 악성코드
- 한글악성코드
- Bisonal
- MS-Office
- koodous
- keylogger
- Cisco Talos
- 멋쟁이사자처럼 4기
- vuln
- 비트코인
- malware
- Flybits
- 위협정보공유
- Kimsuky
- Yara
- infostealer
- 출처 : Do it 안드로이드 프로그래밍
- cuckoo-sandbox
- VirusBulletin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |