webhacking 7

[OvertheWire:natas] natas 11 → 12

JPEG 파일을 업로드하라고 한다. max size도 지정이 되어있다. 아무 txt파일이나 올려봤는데 jpg파일로 올라갔다고 한다. 소스코드부터 보자. ... function genRandomString() { $length = 10; $characters = "0123456789abcdefghijklmnopqrstuvwxyz"; $string = ""; for ($p = 0; $p < $length; $p++) { $string .= $characters[mt_rand(0, strlen($characters)-1)]; } return $string; } function makeRandomPath($dir, $ext) { do { $path = $dir."/".genRandomString().".".$e..

Over the Wire/natas 2021.05.23

[XSS challenge] Stage #10

저번처럼 hidden속성에 onclick을 활용해 풀었더니 바로 풀렸는데, 원래 의도와는 다른 것 같아 힌트를 보았다. 힌트 : s/domain//g; 처음에 기본 공격구문으로 공격했을때 "> 위와 같이 domain이 생략되는 것을 알 수 있었다. 다음과 같은 방법으로 우회할 수가 있다. "> 더보기 다른 방법을 첨부한다. 자바스크립트로 우회하는 방법 "> https://mins4416.tistory.com/116

[Lord of SQL Injection] wolfman

id를 admin으로 만들면 풀리는 문제같다. 공백문자를 필터링하고 있다. 아래 블로그에서 공백 우회방법을 참고했다. https://binaryu.tistory.com/31 1. Tab : %09 no=1%09or%09id='admin' 2. Line Feed (\n): %0a no=1%0aor%0aid='admin' 3. Carrage Return(\r) : %0d no=1%0dor%0did='admin' 4. 주석 : /**/ no=1/**/or/**/id='admin' 5. 괄호 : () no=(1)or(id='admin') 6. 더하기 : + no=1+or+id='admin' 그 외 다양한 우회 방법 참고 https://g-idler.tistory.com/61 간단해 보이는 +를 써봤는데 필터링되..

Web Hacking/LoS 2021.05.18

[Lord of SQL Injection] orc

addslashes 이스케이프 시켜야하는 문자 앞에 백슬래시를 붙여주는 작업을 하는 함수다. ', ", \, NUL 을 처리한다. zzaps.tistory.com/45 쿼터를 필터링하고 있음을 알 수 있다. if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orc"); 이 부분을 보면 입력값과 DB의 pw가 일치해야 풀리는 것을 확인할 수 있다. 이 문제는 Blind SQL Injection 을 사용해야 한다. Blind SQL Injection은 쿼리 결과에 따른 서버의 참과 거짓 반응을 통해 공격을 수행하는 방식이다. length(pw)=pw길이 length함수를 사용하면 패스워드 길이를 알 수 있다. 1부터 값을 늘려가며 찾아보자. pw='..

Web Hacking/LoS 2021.05.09

[natas] level 8 → 9

이번에도 인풋창이 있다. hello를 입력한 결과 입력한 글자를 포함한 단어를 알려주는 거였다. a를 입력하면 사전처럼 단어가 줄줄 나온다. 소스코드를 보자. natas9 Find words containing: Output: View sourcecode array_key_exists(string|int $key, array $array) : bool 배열 내에 키 또는 인덱스가 존재하는지 확인하는 함수 key : value to check array : an array with keys to check passthru 외부 프로그램을 실행하는 함수 system()이나 exec()같은 함수이다. 우선 natas의 모든 password는 /etc/natas_webpass/natas(번호)에 있다는 사실을 ..

Over the Wire/natas 2021.05.09