Hacking/Webhacking.kr

    Webhacking.kr - 56

    일단 아무거나 막 검색해보다가 ~을 검색했는데 이게 검색되서 subject가 필터링 되나 했는데 hi를 검색하니 admin이 검색되서 내용 필터링인걸 알게 되었다. 그래서 파이썬으로 값을 계속 넣어서 admin이라는 값이 나오는 문자열만 모으면 될것 같다. import requests url = "https://webhacking.kr/challenge/web-33/index.php" cookie = {'PHPSESSID':'itbee38p8aae7p17kvchcr644b'} #a = requests.get(url, cookies=cookie) flag= 'FLAG{' for i in range(1000): for j in range(32, 128): if chr(j)=='%': continue sear..

    Webhacking.kr - 34

    var a = ['RcOhTDV1Ew==', 'McOVwqpRBg==', 'c8K/w43DvcK8', 'SsOrTCF1CVDCgcKLEsKc', 'NsK/w4Bc', 'G1TDpwk=', 'AcKtwqfDlW7Dsw==', 'e3kkcQJfwoNFDEU9', 'QMOXDBo=', 'w5bCsWlh', 'eWY6bg8=', 'FnbDoEvDtl1LUkB7w4Q=', 'esOZTiPDsg==', 'bzfCkFfCtA==', 'ZmzDjHcn', 'PxLCm3LDvA==', 'IcKlVy9pw57DgMK3w6kmwpvCiUnDhcOKw4A=', 'LMKnwqECawEeEMOZQsK7wrLCscKpSG1AwqvDvjnDpMKhOSDCqQfDmVRowo1nwpzCh8OGc1vDv3cKVR/CgMK4w7PCukbC..

    Webhacking.kr - 4

    도대체 왜 30점 짜리 문제인지 모르겠다. 10000000 ~ 99999999를 md5로 500번 암호화 한 값이 저 위의 해쉬값과 같을때 {숫자}salt_for_you 이걸 질의로 보내면 풀리는 문제이다. 그러려면 10000000 ~ 99999999를 md5로 500번 암호화한 값을 다 저장해야되서 파이썬으로 코딩한뒤 하루동안 돌려서 레인보우테이블을 만들었다. from hashlib import sha1 with open("randowtables.txt", "w") as f: for i in range(10000000,99999999): a = 0 b = (str(i)+"salt_for_you") for j in range(500): b = sha1(b.encode('utf-8')).hexdigest(..

    webhacking.kr - 61

    이것도 sql인것 같다. id를 내림차순으로 정렬한 뒤에 하나만 뽑아주는것 같다. 일단 아무값이나 넣어보다가 ?id=id를 넣으니까 test라는 값이 뽑힌다 이제 이 값을 admin으로 바꾸기만 하면 문제가 풀릴것 같다. select {} name을 통하여 name의 이름을 {}로 바꿀 수 있다. {}를 admin으로 바꾸기만 하면 되는데 어떤방법이 있나 구글링하다가 hex값이 되길래 hex값을 넣어봤는데 풀렸다.

    Webhacking.kr - 59

    딱봐도 sqli다. 테이블에 intert하는 부분과 select하는 부분 두 부분으로 나뉘어져 있다. lphone을 admin으로 바꾸면 풀릴것 같다. 일단 admin, 0x, char 등이 모두 필터링이 걸려있다. 이러면 mysql 내장함수로 어캐 해봐야될것같은데 revers를 사용하면 문자열을 뒤집을 수 있다. 그러면 1,revers('nimda')-- 이렇게 질의를 보내면 될것 같다. 이렇게 질의를 보내면 바로 Access Denied가 터져버린다. 글자수가 20을 초과해버렸기 때문이다. 놀랍게도 reverse의 인자값을 변수로 줄수 있어서 이걸 이용해서 해결할 수 있었다. id = nimda phone = 1,reverse(id))-- -

    Webhacking.kr - 42

    flag.docx를 다운받으려니 가 뜬다. 그럼 텍스트 파일을 다운받아봤다. 새창으로 열어서 받으니까 이런 url에서 받는데 아마 base64로 인코딩 된것 같다. 그럼 flag.docx를 인코딩해서 down={여기}에 박으면 해결 될것 같다.

    Webhacking.kr - 39

    심플하게 생겼다. 쿼리가 True가 되면 풀릴것 같은데 select 1 from member where length(id)

    Webhacking.kr - 38

    대놓고 인젝션이란다. 소스를 보면 admin.php로 이동하라고해서 가보면 지금까지 내가 쳤던게 쭉 있다. ip:친것 이 형식인것 같은데 ip:admin이 되면 문제가 풀릴것 같다 그래서 \n 등의 개행을 통해 asdf ip:admin 이렇게 하려고 했는데 위에서 보이는것처럼 하나도 되는게 없었다. 그래서 걍 input을 textarea로 바꾸고 이렇게 하니까 풀린다