WebHacking
-
Secuinside 2018 simple_boardWebHacking 2018. 3. 5. 23:23
lib.php에있는 str_escape를 이용하여서 GET,POST등에 addslashes를 해주고 있다.그리고 내가 입력한 값들에 sqli_block을 이용하여서 필터링을 해준다. 대부분 함수들을 분석하면 알겠지만 str_escape때문에 sqli를 해줄수가없다.. 함수 중 쿼리 입력 방식으로 조금 다른 함수를 찾는다면 바로 do_delete함수가 있을것이다.그 이유는 다른 함수들은 다 string으로 입력받는데 do_delete에서 idx는 배열로 받고있다.저렇게 배열로받고있는곳에 string으로 입력을 하게되면 AAAA를 넣으면 $_POST[idx][$i] 값을 출력해보면 A한글자만 들어가는데 이것을 이용하여서 str escape를 우회해줄수 있다. strescape를 이용하면 'AAA를 입력하면 ..
-
Codegate 2018 simple_cmsWebHacking 2018. 3. 5. 23:23
Write up을 쓰는것을 까먹고 있었다. 소스를 분석해보면 쿼리에서 오류가 나면 mysql_error()로 출력을 해준다. 이 뜻은 error sql injection을 사용하라는 것 같다. 에러 sql injection을 이용하여서 table_prefix를 구해서 flag테이블 이름을 알아내고 아직 컬럼 이름을 모르기 때문에 wargame.kr adm1nkyj무제에서 사용한 방법을 이용하여서 플래그를 얻을 수 있다. EROR SQLI: http://222.110.147.52/simple_cms/index.phpact=board&mid=search&col=title%23&type=1&search=%0a)%20having%20count(title)%23 simple_cms.7876616f46676a456..
-
Wargame.kr dun worry about the vaseWebHacking/Wargame.kr 2018. 2. 28. 23:45
이 문제에서는 사실상 패딩 오라클 공격을 안 해도된다.평문을 알고 암호문을 알기 때문에 아마 base64 암호문이 2개가 있는데 두개를 복호화 하면 16byte가 나올것이다(hex로 바꾸면) 앞에 8byte가 Intermediary value(IV)라고 예상을 할 수 있고 그 다음 8byte는 id라고 예측할 수 있다. Intermediary vector ^ 평문 = Intermediary value다.그렇다면 Intermediary value ^ 평문을 하면 Intermediary vector이 구해지고 서버 에서 평문을 구할때 Intermediary vector ^ Intermediary value이런식으로 해서 평문을 구한다. Intermediary vector ^ admin을 했을때 나오는 값을 ..
-
Wargame.kr jff3_magicWebHacking/Wargame.kr 2018. 2. 27. 23:57
jff3_magic800point / CommaThis challenge is part of Just For Fun [Season3]. - thx to Comma@LeaveRet 힌트로 .swp를 alert로 알려준다..index.php.swp 파일을 보면 다운 받아지고 소스를 볼수있다.vi로 복구를 해서 할려 했는데 오류가 나서 swp상태에서 소스를 보면서 분석 하였다.id,pw를 입력 받는데 소스에서는 GET방식으로 no를 입력 받고 있다. no에다가 sql injection을 해보니 취약점이 있었다.no=0 을 넣어보면 true가 되면서 admin이 출력 된다. 아이디는 admin인것같다. 패스워드를 틀리면 이상한 해쉬에 incorrect password가 출력된다. 그냥 submit을 누르고 나온..
-
Wargame.kr QnAWebHacking/Wargame.kr 2018. 2. 27. 18:53
QnA800point / bughelaTime based SQLi challenge. (with Insert Query) you can't see the result after insert query. but you can SQLi Attack!TIME BASED SQLi 문제인것같다. 메뉴 하나하나 눌러보면 알겠지만 누가 봐도 toJSMaster에서 취약점이 있을 것 같은 느낌이 든다.소스를 보면 cont,mail,type를 post형식으로 보내고 있다.cont, mail에는 ' or sleep(3)#으로 테스트를 해보고 type에는 sleep(3) 이런식 으로 테스트를 해서 sql injection취약점이 있는지 확인을 할 수 있었다.그 결과 type에 sql injection취약점이 있었다. 원래 ..
-
Wargame.kr ip log tableWebHacking/Wargame.kr 2018. 2. 26. 02:14
ip log table700point / bughelaBlind SQLi challenge. You can use 'Ascii' to 'Date'Blind SQLi 문제다. IDX 누른 상태에서 파로스를 보면 idx=(클릭한 IDX)를 POST로 보내고 있다.그곳에 IF를 이용하여서 SQL INJECTION을 해보니 취약점이 있다는 것을 알 수 있었다. 123456789101112131415161718192021222324252627282930import urllib2 pw_idx = 10temp = 0table = 'admin_table'id_ = 'blue_admin'ps = '0h~myp4ss'while True: url = 'http://wargame.kr:8080/ip_log_table/chk...
-
Wargame.kr lonely guysWebHacking/Wargame.kr 2018. 2. 26. 00:47
lonely guys700point / bughelaBlind SQLi challenge. Can you SQLi with 'order by' in expression? 이번 문제 주 핵심은 order by에서 일어나는 sql injection이다.order by에서 if와 서브 쿼리가 가능하기 때문에 이것을 이용하여서 문제를 풀 수 있다. 테이블과 컬럼은 소스에서 authkey라고 알려주고 있기 때문에 간단하게 문제를 풀 수 있다. import urllib2 password = ''pw_idx = 1 temp = 48 while True: url = 'http://wargame.kr:8080/lonely_guys/index.php' data = 'sort=,if((select ascii(substr(a..