전체 글 49

웹 해킹 공부하는 방법

일단 저의 스토리로 웹 해킹 공부하는 법부터 알려드릴게요 1. 블로그를 보고 관심을 가져라 일단 저는 블로그를 보고 관심을 가졌습니다. 해킹에 대한 역사 이런것을 찾아보면서 신기해했었습니다. 그래서 저는 그때부터 해커에 대한 관심이 생기었고 지금까지도 이어져 오고있습니다. 2. php로 게시판을 만들어 보아라! 저는 처음에 시작할때 php를 이용하여 게시판을 만들었습니다. 그러면서 자연스레 코딩실력도 늘고 이해도도 점점 높아졌습니다. 그러면서 게시판을 만들고 나서 코드를 이해하는데 집중해야합니다! 코드를 이해하고 가지않으면! 힘들어질수도 있어요! 3. 드림핵(dreamhack)을 잘보라! https://dreamhack.io/ 제가 이 드림핵이란 사이트에서 webhacking을 보면 진짜 자세히 나와있고..

suninatas/#2

문제를 보니 f12를 눌러주었다. 그래서 나는 소스를 보았습니다. 아래 힌트를 보니 id = pw라고 하는군요! 그래서 저 chk_form()이라는 함수는 알아보니 id와 pw가 같지 않아야 submit이 되는 함수라고 합니당! 그래서 나는 우회하여 풀어주었다. 일단 아이디와 패스워드가 동일해야 하니 Burp Suite Conmmunity Edition을 써주었다. id와 pw에 아무거나 적고 패킷을 잡아서 id와 pw를 같게 만들어주면 끝!

suninatas 2022.10.23

suninatas/#1/level 1

오늘부터는 새로운 사이트를 클리어 해보자 일단 level 1부터 풀어주겠다 이것이 문제인것같다. 일단 조금 해석 해볼까 str에서 a 문자를 aad로 바꾸어 주고 result에 넣는다. 그리고 result에서 i 를 in으로 바꾸고 result에 넣는다. result에서 2번째 부터 2개를 반환해서 result1에넣는다. result에서 4번째 부터 2개를 반환하는것을 result2에 넣는것을 위에서 볼수있습니다. 일단 result값이 admin이어야합니다. 흠 일단 admin이어야하니 생각을 해봅시다 . . result값이 admin일경우 코드의 순리대로 돌려보면 addmi이 나옵니다. str값이 ami을 넣어줄경우 admin이 출력됩니다 !! 이문제는 코드의 흐름을 보면서 하시면 쉬울것입니다!!

suninatas 2022.10.23

los 11 #golem 문제풀이

문제에 들어가면 이렇게 뜰겁니다 많이 길어보이는데 걱정할것없습니다 별거아닙니다 필터링하는게 꾀많네요 or and substr등을 필터링하는걸 보니 우회해야겠네요 이건 블라인드 sql 인젝션을 써야합니다 일단 파이썬으로 코드를 짜봅시다 import string import requests my_cookies=dict(PHPSESSID="") #쿠키 값 idLength=0 url="https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php?pw='||" abc=string.digits + string.ascii_letters print("Start Blind attack") result="" #pw 길이 알아내기 while(1): idLen..

los 문제 2022.08.28

los #10번 skeleton 문제풀이

문제를 보니 if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 필터링한것이 pw에 들어가 있다면 no hack이 뜹니다 그리고 id가 admin이어야 하니 일단 수정해봅시다. 일단 이런 문제 유형들은 and 1=0은 걸림돌이나 마찬가지입니다 이것을 필터링해주려면 %23을 써주어야합니다 %23은 #이고 #은 필터링해줍니다 한번 해보겠습니다 이렇게 해주면 pw는 ''이 들어가고 id에는 admin이 들어간것을 볼수있습니다 이제 무엇을 해야하는가 하면 아까 말했던것 처럼 and 1=0는 걸림돌이기 때문에 필터링 해주어보겠습니다 쉽네요 ^^ 설명하자면 id는 어드민이어야하지만 and 1=0은 걸림돌이기 때문에 #을사용하여 뒤를 날려준겁니다 ..

los 문제 2022.08.28

los 9 #vampire 풀이

문제로 들어가보겠다 문제를 보니 $_GET[id] = strtolower($_GET[id]); $_GET[id] = str_replace("admin","",$_GET[id]); 여기서 어드민을 지우는것을 볼수있다. 한번 해보자 일단 id에 어드민을 써보겠다. php?id=admin을 쳐주었더니 admin이 아니라 id에는 아무것도들어가지 않는것을 볼수있다. 왜냐하면 위에서 봤듯이 admin을 지운다. 그럼 어떻게 해야하냐면 그냥 생각만 조금 해서 쉽게 풀수있었다. admin을 지워버리니까 adadminmin이런식으로 풀리지않을까 생각해보았다. 이렇게 적어주었더니 딱 알맞게 admin이 들어가는것을 볼수있고 vamplre clear!!! 라고 뜨는것을 볼수있을것이다. 정리하자면 admin을 코드에서 지우..

los 문제 2022.08.18

los #7 orge 풀이

일단 해석하자면은 if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe"); or과 and를 필터링 했다. 우회법은 이전 라업에서 말했듯이 or -> || and -> && 이렇게 해주면 된다. 문제풀이 조건을 보자면 if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orge"); pw의 값을 맞춰야한다. 즉, blind sqli를 해줘야한다. 여기서 ~~~는 대충 숫자로 부르트 포싱을 해준다. pw의 길이는 8이다. 이제 substr()을 이용해서 pw의 각 자릿수를 파싱해와서 부르트 포싱을 해준다. 이것은 경우의 수가 많아서 python 코드로 했다. import requests import string u..

los 문제 2022.07.31

root-me/CSRF - 0 protection문제풀이

오랜만에 돌아온 root-me~~~ 일단 문제를 보면 위와같이 떠있는것을 볼수있습니다. 일단 id랑 pw를 해봅시다 회원가입을 하면 관리자가 계정의 상태를 업데이트 해준다고 기다리라고 한다. profile이란 문구를 눌러보았는데 Status 라는 버튼이 비활성화 된 상태로 있고, Submit 버튼을 누르면 You're not an admin! 왠지 저 Status 버튼을 활성화 시켜서 눌러야할 듯 하다. Private 페이지에 가면 administrator가 계정을 아직 승인안했다고 기다리라는 안내문구가 나온다. 아마도 이전 Profile 페이지의 Status 버튼을 눌러주면 계정이 활성화가 되는듯 하다. Contact 페이지에 가면 administrator와 소통할수 있는 페이지가 나온다. admin에..

root-me-client 2022.07.24

webhacking.kr 10번문제풀이

문제에 들어가보니 이런게 있다? 으음? 뭐 국기인가라는 생각도 들기도 했고 그래서 난 일단 f12를 눌러 개발자도구로 가주어보았당~ 흠 뭐가 막 이렇게 있는데 onclick쪽을 한번 보니까 onclick="this.style.left=parseInt(this.style.left,10)+1+'px';if(this.style.left=='1600px')this.href='?go='+this.style.left" 해석을 간단하게 하자면 글자를 클릭하면 1px씩 움직이고 1600px이 되면 go라는 파라미터로 위치를 담아서 전송한다고한다. 그러니까 저 글자의 위치를 클릭하면 1600px로 이동하면 문제가 풀린다는 것이다. 그래서 나는 url에 ?go=1600px로 뒤에 붙여주어보았다 하지만 no hack이 뜬다..

webhacking.kr 2022.07.22