Hacking
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로 바꾸고 이렇게 하니까 풀린다
Webhacking.kr - 36
아주 심플하다. 현재 디렉터리에서 viitor를 사용하여 index.php 파일을 편집하는 동안 정전으로 인해 소스 코드가 사라졌습니다. 회복할 수 있게 도와주세요. => 머 이런내용인데 처음에는 php 임시파일이 있는지 찾아보았다. 사실 번역때문에 삽질을 뒤지게 했는데 저게 viitor로 번역되서 vi 임시파일을 찾아볼 생각을 못했다. 삽질을 좀 하다가 vi임시파일이 .swp라는걸 찾게되었고 이걸 .index.php.swp로 만들어서 받는다. 그리고 열어보면 FLAG가 있다. 영어공부하자..
Webhacking.kr - 32
이런 점수판 같은게 나온다. 아무거나 눌러보니까 이런게 나온다. 좀 뒤져보다가 쿠키에 이걸 지우고 클릭하니까 이 숫자가 하나 오른것을 알수 있었다. 근데 이걸가지고 멀 할수 있을지 생각해보다가 맨 밑에있는 내 닉을 발견했다. 아마 이걸 100까지 올리면 되지 않을까하고 하나하나 손으로하면 한세월 걸릴꺼같았기 때문에 스크립트를 작성했다. import requests url = "https://webhacking.kr/challenge/code-5/" asdf= {'vote_check':' ', 'PHPSESSID':'asdf53951779'} for i in range(100): a = requests.get(url+'?hit=ur$obad', cookies=asdf) print(i) if i==99: p..
Webhacking.kr - 26
그냥 admin을 url encodeing해서 넣으면 될것 같다. %61%64%6D%69%6E 이걸 넣으니까 no가 나오면서 필터링이 됬다 그래서 이걸 한번더 url encodeing하여서 %2561%2564%256D%2569%256E 이 문자열을 보내면 풀린다