Wargame/Webhacking.kr

https://webhacking.kr/challenge/js-7/ 접속하면 debug me라는 창이 뜨고 아무것도 없다. 페이지의 소스 코드를 보면 굉장히 긴 자바스크립트 코드가 있는데, beautifier로 정리해서 보면 다음과 같다. var a = ['RcOhTDV1Ew==', 'McOVwqpRBg==', 'c8K/w43DvcK8', 'SsOrTCF1CVDCgcKLEsKc', 'NsK/w4Bc', 'G1TDpwk=', 'AcKtwqfDlW7Dsw==', 'e3kkcQJfwoNFDEU9', 'QMOXDBo=', 'w5bCsWlh', 'eWY6bg8=', 'FnbDoEvDtl1LUkB7w4Q=', 'esOZTiPDsg==', 'bzfCkFfCtA==', 'ZmzDjHcn', 'PxLCm3LDvA==',..
https://webhacking.kr/challenge/web-24/ select, or, and, (, ), limit, ,, /, order, cash, 공백, 탭, ', "가 필터링된다. 필터링을 우회하여 id가 admin이 되도록 하는 쿼리를 작성하면 된다. What's in DB Level에 여러 가지 숫자를 넣어보면 다음의 결과를 확인할 수 있다. Level 1: ltusy Level 2: udnrg Level 3: fvvcg Level 4: bzrbo admin의 level은 알아낼 방법이 없다. 그러면 조건문에서 id가 admin인 데이터를 뽑아오도록 만들어야 하는데, 쿼리를 다음과 같이 구성하면 될 것이다. select id from chall49 where lv=0 or id='adm..
https://webhacking.kr/challenge/bonus-8/ index.php를 vi로 편집하다가 강제 종료되어 날아갔다고 한다. 이런 경우 vi는 복구를 위해 스왑 파일을 남긴다. /.index.php.swp로 접속하면 index.php.swp 파일이 다운받아지는데, vi 에디터에서 열어보자. 맨 밑에 플래그가 있다.
https://webhacking.kr/challenge/bonus-11/ 일단 그대로 send를 눌러보자. 메일이 보내졌다고 한다. 기능은 임의의 제목으로 메일을 보내는 것이 전부인 것 같다. 메일이면 SMTP를 사용할 것이고, 그러면 SMTP header injection이 가능할 것 같다. https://www.geeksforgeeks.org/what-is-smtp-header-injection/ 저 제목으로 메일을 보내면 SMTP 메시지는 아래와 같이 구성되어 있을 것이다. From: XXX@XXX.XXX To: XXX@XXX.XXX Subject: Flag of webhacking.kr old-47 chall FLAG{XXX} Subject 뒤에 개행을 하고 Cc: 를 넣으면 내 메일 주소도 참..
https://webhacking.kr/challenge/web-08/ 접속한 user agent가 DB에 존재하면 SQL 쿼리가 id를 반환한다. id가 admin이면 문제가 풀린다. User agent가 DB에 존재하지 않으면 user agent, ip와 id(guest)를 DB에 추가한다. DB에 추가하는 쿼리에서 SQL injection이 가능하다. $agent를 AAAA', '', 'admin')#와 같이 조작하면 전체 쿼리는 insert into chall8(agent,ip,id) values('AAAA', '', 'admin')#','{$ip}','guest')가 되어, 주석 뒤쪽은 무시되고 user agent AAAA를 가지는 admin이 DB에 저장된다. 이제 다시 user agent를 ..
homeb0dy
'Wargame/Webhacking.kr' 카테고리의 글 목록