WarGame/WebHacking.kr

webhacking.kr 30번

DoR@Hee 2019. 2. 20. 21:04


문제 첫 화면 fileupload 취약점을 이용한거같다.



아무 파일이나 업로드 했을 때 Done이 나오는걸봐서는 도저히 모르겠다. hint를 보자




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
 
 
mysql_connect() or die();
 
mysql_select_db("challenge_30_table") or die();
 
$q=mysql_query("select password from challenge_30_answer") or die();
 
$data=mysql_fetch_array($q) or die();
 
if($data)
{
$pw="????";
echo("Password is $pw");
}
 
?>
 
-- mysql 관련 함수는 보안 문제상 현재 사용하지 않는 함수이며 mysqli, pdo를 사용한다.
mysql_connect() -- mysql에 연결하는 함수이며 mysql_connect('localhost(서버주소)','아이디','비밀번호'); 로 사용한다.
mysql_select_db() -- db에 연결하는 함수이며 mysql_select_db("db이름")을 이용해서 사용한다. 
mysql_query() -- INSERT, UPDATE, DELETE, DROP 등에서 성공하면 TRUE를, 실패하면 FALSE를 반환
mysql_fetch_array() -- 쿼리의 따른 값을 배열로 반환한다.
cs


클라이언트에 mysql를 접속하는거같은대 여기서 문제는 어떻게 클라이언트에 접속하는지 문제였다.

구글링을 해본 결과 이전 문제에서 풀어보았던 ..htaccess파일로 접속을 할 수 있다는걸 알게 되었고.


.htaccess 파일에

php_value mysql.default_host "외부 IP"


php_value mysql.default_user "root(아이디)"


php_value mysql.default_password "mysql(패스워드)" 입력 후 db생성 후 문제풀이를 하면 될거 같다.



.htaccess파일을 업로드 할 결과 에러가 발생했고, 이유를 찾아보니 현재 에러로 인해 풀 수 없는 상태이다.