보호되어 있는 글입니다.
열세 번째 글. 내 핸드폰 번호를 입력해봤더니 정상적으로 'Done'이라고 출력이 되었다. 바로 소스코드를 확인해보겠다. 먼저 phone과 id를 GET방식으로 입력을 받는다. phone을 입력받을 때 *, /, select, -, # 을 필터링한다. id는 5글자로 제한이 되어있으며 id를 입력받을 때 'admin'은 필터링이 된다. insert into chall35(id, ip, phone) values('{$_GET['id']}','{$_SERVER['REMOTE_ADDR']}',{$_GET['phone']}) 위 쿼리를 통해서 내가 입력창에 폰번호를 입력하면 guest와 내 ip주소와 같이 들어가게 된다. select ip from chall35 where id='admin' and ip='{$..
열두 번째 글. 뜬금없이 debug 해보란다. 그리고 그냥 검은색 화면 밖에 없다. 바로 스크립트를 확인했더니 보기 불편하게 되어있었다.. 코드 뷰티파이어 : https://www.prettifyjs.net/(코드를 보기좋게 만들어준다) 근데 사실 보기좋게 만들어도 잘 모르겠다... 너무 길기도 하고... 그래서 그냥 처음에 'debug me'라는 알림 창이 떠서 alert을 찾아보았다. alert부분을 복붙 해서 콘솔에 입력해봤더니 똑같이 debug me라고 뜬다. 그런데 if조건이 상당히 신경이 쓰인다. 그래서 location부터 복붙을 해서 console에 입력해봤다. 상당히 수상한 스트링이 눈에 띈다. 그래서 로케이션 부분만 때고 뒤의 부분만 console에 입력해보았다. 이렇게 나와서 URL에 ..
열한 번째 글. 바로 view-source를 눌러보겠다. 바로 https://webhacking.kr/challenge/bonus-6/?get=hehe를 넣어주었다. 이렇게 Next가 생기고 누르게 되면 Challenge 33-2로 넘어가게 된다. 아직 몇개까지 있는지는 모르겠지만 상당히 귀찮은 문제이다... Challenge 33-2 1번 문제와는 다르게 post방식으로 넘겨주고 있다. 바로 파이썬 코드로 작성해 보겠다. 33-2.py url = "https://webhacking.kr/challenge/bonus-6/lv2.php" cookie = {'PHPSESSIONID': 'yoursessionid'} data = {'post' : 'hehe', 'post2' : 'hehe2'} request ..
열 번째 글. 이렇게 랭킹 테이블이 있다. 사용자 아이디인 것 같아서 내 아이디도 검색해보니 있다. 아무래도 내가 1등을 먹으면 될 거 같은 느낌이 팍온다. 아이디를 클릭하면 hit가 하나 올라가는데 다시 한번 누르니 위에처럼 이미 투표를 했다고... 쿠키를 확인해보니 vote_check라는 값이 있는데 ok라서 이것을 no로 바꿔봤지만 되질 않았다. 왼쪽의 빨간색 금지 표지판을 누르게 되면 위의 사진처럼 뜨게 되는데 값으로 차단에 체크를 하고 '이 규칙 더하기'를 누르면 vote_check 사라지고 계속해서 투표를 할 수 있게 된다. 아마 파이썬 코드로 할 수 있을 거 같은데 뜻대로 되지 않았다... 그래서 burpsuite의 repeater를 이용해서 조금 더 빠르게 1등으로 만들 수 있었다. 또는 ..
아홉번째 글. 문제는 이렇다 join버튼을 누르게되면 위처럼 회원으로 등록될 수 있다. 나는 여기서 guest / guest로 join을 했다. guest / guest로 로그인을 하니 이렇게 해쉬값이 나왔다. 문제를 많이 풀다보면 알겠지만 MD5 해시값이라고 유추가 가능하다. MD5는 단방향 암호화로써 128비트의 해시값으로 표시하고 주로 파일의 무결성을 확인할 때 사용된다. 사실 복화가 불가능하지만 짧은 문자 같은것은 복호화를 해주는 사이트가 있다. 사이트 : https://www.md5online.org/md5-decrypt.html 여기서 복호화를 해보면 guest뒤에 apple이 붙어서 나왔다. 21번 문제와 똑같이 블라인드 인젝션을 이용해서 파이썬 코드로 작성하였다. 21번과 차이점은 여기서는..
여덟번째 글. 친절하게 Blind SQL Injection(이하 Blind Injection)이라고 써있다. Blind Injection이란 쿼리의 결과를 참과 거짓만으로 나타내서 DB의 정보를 알아내는 Injection 공격 방법이다. guest / guest로 입력을 했을 때 정상적으로 로그인이 되는것을 볼 수 있다. 너무나 당연한 이야기지만 admin / admin으로 했을 떄는 로그인이 되지않고 login fail이 뜬다. 여기서 간단한 Blind Injection을 해 보겠다. 이렇게 admin' or '1=2 / 1234 이렇게 넣어줬다(혹시나 해서 확인차 admin계정이 있는지 확인해 보았다) 그결과는 wrong password라고 뜬다. 여기서 유추할 수 있는 것은 login fail이 f..
일곱번째 글. 여기서 이대로 제출 버튼을 누르면 이렇게 뜨고 다시 돌아온다. 이번에는 a를 넣고 제출을 눌러보겠다. 이렇게 hello a라고 나오고 아까와는 다르게 다시 초기화면으로 돌아가지 않았으며 logout버튼을 눌러도 아무런 동작을 하지 않았다. 빠르게 쿠기값을 확인해 봤더니 userid에 이렇게 있었다. 참고로 %3D는 '=' 과 같다. 여기서 base64 인코딩임을 알 수 있었다. 디코딩을 해보면 md5 인코딩 된 값을 얻을 수 있었고 이값을 복호화하면 'a' 라는 값이 나왔다. 여기서 'aa'를 넣고 똑같이 base64 디코딩을 해주면 0cc175b9c0f1b6a831c399e269772661 0cc175b9c0f1b6a831c399e269772661 이렇게 나온다. 여기서 눈치가 빠른사람들..
- Total
- Today
- Yesterday
- 드림핵 padding oracle
- 드림핵 DOM XSS
- hackerfactory
- 해커팩토리
- 웹해킹
- dreamhack web-alasql
- alasql
- dreamhack CSS Injection
- dreamhack DOM XSS
- SQL Injection
- wargame
- CSS Injection
- webhacking.kr
- blind injection
- DreamHack
- hack the box
- csp bypass
- csp
- Lord of SQL injection
- htb
- Windows Fundamentals
- 드림핵 Relative Path Overwrite
- xxe injection
- 드림핵
- htb Windows Fundametals
- dreamhack Relative Path Overwrite
- dreamhack padding oracle
- LFI vulnerability
- php LFI
- WebHacking
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |