write-up(web)

[Webhacking.kr] old-22

문제 로그인과 회원가입 기능이 존재한다. 문제풀이 guest/guest로 로그인하면 해시값을 확인할 수 있다. md5 복호화 결과, guestapple임을 알 수 있고, 비밀번호+apple이 해시값으로 만들어지는 것을 알 수 있다. import requests url = 'https://webhacking.kr/challenge/bonus-2/index.php' cookie = {'PHPSESSID':'bmvg2k4nh4momseflhkh18371h'} pw_len = 0 for i in range(100): params = {"uuid":"admin\' and length(pw)={}#".format(i),"pw":"123"} res = requests.post(url, cookies = cookie,..

[Webhacking.kr] old-21

문제 문제풀이 id:guest/pw:guest : login success id:admin/pw:123 : login fail id:admin’#/pw:123 : wrong password wrong password 반환할 때를 이용해 blind injection 수행이 가능하다. 비밀번호 길이 id : admin’ and length(pw)>30# / pw : 123 위와 같이 유추하여 id : admin’ and length(pw)=36# / pw : 12 -> wrong password 비밀번호 길이가 36임을 찾을 수 있다. 비밀번호 문자열 id : admin’ and ascii(substr(pw,1,1)=116# import requests url = 'https://webhacking.kr/c..

[Webhacking.kr] old-20

문제 문제풀이 2초마다 captcha 부분이 갱신된다. 바뀌는 captcha 부분을 빠르게 입력해서 제출하면 문제가 해결된다. submit 부분의 코드를 보면 아래와 같다. function ck(){ if(lv5frm.id.value=="") { lv5frm.id.focus(); return; } if(lv5frm.cmt.value=="") { lv5frm.cmt.focus(); return; } if(lv5frm.captcha.value=="") { lv5frm.captcha.focus(); return; } if(lv5frm.captcha.value!=lv5frm.captcha_.value) { lv5frm.captcha.focus(); return; } lv5frm.submit(); } 새로고침 후..

[Webhacking.kr] old-19

문제풀이 admin을 입력하고 submit을 누르면 오른쪽과 같이 화면이 출력된다. guest를 입력하고 제출하면 아래와 같이 로그인이 되고, 쿠키가 설정된다. YjJmNWZmNDc0MzY2NzFiNmU1MzNkOGRjMzYxNDg0NWQ3Yjc3NGVmZmU0YTM0OWM2ZGQ4MmFkNGY0ZjIxZDM0Y2UxNjcxNzk3YzUyZTE1Zjc2MzM4MGI0NWU4NDFlYzMyMDNjN2MwYWNlMzk1ZDgwMTgyZGIwN2FlMmMzMGYwMzRlMzU4ZWZhNDg5ZjU4MDYyZjEwZGQ3MzE2YjY1NjQ5ZQ%3D%3D 문자열의 맨 뒤에 %3D%3D(==)가 설정된 것을 보아 base64로 인코딩 되어 있는 것 같다. base64 디코딩 하면 아래와 같은 문자열이 나온다. ..