본문 바로가기

웹해킹

(116)
old-51 롸업(webhacking.kr) 문제 창이다. id와 pw를 제출하는 폼이 있다. Admin page
old-50 롸업(webhacking.kr) SQL Injection 문제이다. SQL INJECTION id : pw :
old-34 롸업(webhacking.kr) 문제에 접속하자마자 debug me라는 알림이 뜬다. var a=['RcOhTDV1Ew==','McOVwqpRBg==','c8K/w43DvcK8','SsOrTCF1CVDCgcKLEsKc','NsK/w4Bc','G1TDpwk=','AcKtwqfDlW7Dsw==','e3kkcQJfwoNFDEU9','QMOXDBo=','w5bCsWlh','eWY6bg8=','FnbDoEvDtl1LUkB7w4Q=','esOZTiPDsg==','bzfCkFfCtA==','ZmzDjHcn','PxLCm3LDvA==','IcKlVy9pw57DgMK3w6kmwpvCiUnDhcOKw4A=','LMKnwqECawEeEMOZQsK7wrLCscKpSG1AwqvDvjnDpMKhOSDCqQfDmVRowo1nwpzCh8OGc1vDv3cKVR/Cg..
old-33 롸업(webhacking.kr) wrong이라고 떠 있다. Challenge 33-1 view-source view-source로 확인한 코드이다. get이 hehe이면 Wrong이 안 뜬다. next를 눌렀더니 lv2.php로 이동된다. Challenge 33-2 view-source view-source를 했더니 아까랑은 다른 코드가 나온다. 이번에는 post방식의 변수 2개의 값을 조작해야 한다. import requests URL='https://webhacking.kr/challenge/bonus-6/lv2.php' cookies = {'PHPSESSID':'4hs6lrvp7mlk1ao5v3tijt8lb2'} data = {"post":"hehe","post2":"hehe2"} res = requests.post(URL, co..
old-32 롸업(webhacking.kr) 이름과 hit수가 랭킹으로 표시되어 있다. 이름을 누르면 투표가 되고 다시 이 페이지로 돌아온다. 다시 이름을 누르면 이렇게 뜬다. vote_check라는 쿠키로 투표 여부를 판단하는 거 같다. 이 쿠키를 제거하고 다시 투표하면 계속 투표를 할 수 있다. hit가 /100으로 표시가 되기 때문에 100을 넘어가면 뭐가 되나 싶어서 1등을 100이 넘을때까지 투표했는데 아무 일도 안 일어났다. 대체 뭘 어떻게 하라는건지 감이 안 잡혔는데 맨 아래에 1800등 쯤에 내 아이디가 있는게 보였다. 내가 1등이 되면 되는건가 싶어서 투표를 시키는 파이썬 코드를 작성하였다. import requests URL='https://webhacking.kr/challenge/code-5/?hit=bluesunset' co..
old-27 롸업(webhacking.kr) SQL Injection 문제라고 친절히 알려주고 있다. SQL INJECTION
old-26 롸업(webhacking.kr) 문제에 접속하면 그냥 view-source 하나만 덩그러니 있어서 바로 확인해보았다. view-source GET 방식으로 받아온 id의 urldecode 값이 admin이면 풀린다. 근데 preg_match 때문에 /admin/에 id가 들어있으면 안된다. admin을 url 인코딩 표로 보고 인코딩 된 값으로 바꾸면 %61%64%6d%69%6e 이렇게 나온다. 근데 이걸 url에 그대로 쳐도 자동으로 디코딩이 되면서 admin으로 바뀐다. %61%64%6d%69%6e 이 값을 한번 더 인코딩 해 보면 %2561%2564%256d%2569%256e 이걸 id로 넣어주면 풀린다.
old-25 롸업(webhacking.kr) 문제 화면이다. 개발자 도구로 확인한 코드에는 별게 없었다. url에 file=hello로 되어 있길래 file=index 먼저 해봤다. 글자만 달라지고 별 다른게 안 보인다. flag로 갔더니 코드 안에 flag가 있다고 한다. 하지만 코드에서 전체 검색으로 flag를 검색해봐도 안 나온다. flag.php라는 파일의 코드를 볼 수 있어야 하는 것 같다. php://filter 라는 것을 이용하면 파일의 내용을 decode나 encode 해서 보여준다. php://filter/convert.base64-encode/resource=flag.php 이 구문을 이용해서 파일의 내용을 base64 인코딩된 것으로 볼 수 있다. 이렇게 파일 내용이 base64로 인코딩 되어서 나온다. 이 값을 다시 디코딩 해..