2018. 6. 18.

[웹 취약점] Engagement tools in burp suite

버프스위트 기능의 Engagement tools 기능 중에서 find references 와 Generate CSRF PoC 에 대해 정리하려고 한다.

1. Find references 



타겟 호스트에서 공격 대상여부를 확인하기 쉽게 동적 페이지를 리스팅해준다.

2. CSRF PoC

CSRF 취약점 검증하기 위한 소스를 편하게 제작해주는 기능을 제공한다.

Request 캡처 > 우 클릭 Engagement tools > Generate CSRF PoC > Test in browser 또는 Copy HTML > 웹에서 검증



참조
  • http://www.hackingarticles.in/engagement-tools-tutorial-burp-suite/

Continue reading

2018. 6. 14.

[웹 취약점] Curl

curl 의 강점은 아래와 같다.

  • CURL is an easy to use command line tool to send and receive files, and it supports almost all major protocols(DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS,  LDAP,  LDAPS,  POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP) in use.
  • Can be used inside your shell scripts with ease
  • Supports features like pause and resume of downloads
  • It has around 120 command line options for various tasks
  • It runs on all major operating systems(More than 40+ Operating systems)
  • Supports cookies, forms and SSL
  • Both curl command line tool and libcurl library are open source, so they can be used in any of your programs
  • It supports configuration files
  • Multiple upload with a single command
(download : https://winampplugins.co.uk/curl/)


  • Progress bar, rate limiting, and download time details

    • IPV6 Support
    (curl download : https://www.lesstif.com/pages/viewpage.action?pageId=14745703#curl%EC%84%A4%EC%B9%98%EB%B0%8F%EC%82%AC%EC%9A%A9%EB%B2%95-HTTPGET/POST,RESTAPI%EC%97%B0%EA%B3%84%EB%93%B1-%EA%B0%9C%EC%9A%94)


    Command Injection


    버프스위트에서 copy as curl command 를 하면 손쉽게 curl 문법 형태로 변환되어 저장된다.

    그렇다면 어떨때 curl 를 사용하는 것일까. 예를 들면, 웹 페이지에서는 c.jsp 로 접속하려면 a > b > c.jsp 라는 구조가 있다고 할때, 루틴(?) 을 밟고나서야 접속할 수 있다. 그러나
    이것을 curl 로 시도하면 특정 url로 body 까지 포함한 데이터로 request 를 보낼 수 있다.

    post 데이터를 변조하여 요청할 일이 있을때 유용하게 사용된다.

    다운로드 후 환경변수에 추가하면 된다.

    • https://winampplugins.co.uk/curl/


    사례 1) 비밀번호 변경 page 에서 본인인증을 마치고 신규 비밀번호를 입력하는 부분의 페이지를 보니 post 로 userid, pw를 전송한다. 이럴때 userid 와 pw를 입력하면 특정 user의 pw를 인증없이 변경할 수 있다.

    curl -i -s -k -X $'POST'  .... -H $'Referer: http://test.co.kr' -H $'Content-Type: application/x-www-form-urlencoded' -H $'User-Agent: Mozilla/5.0 (Windows NT 6.1; --data-binary $UserID=test$password=test.....

    대충 위와 같은 방식

    사례 2)
    curl -L "http://xxx.xxx.xxx.xxx/multillidae/index.php?page=view-someones-blog.php" 2> /dev/null | grep -i \"admin\" | sed 's/"//g' | awk 'BEGIN{FS=">"}{for (i=1; i<=NF; i++) print $i}' | grep -v value | sed s'/<\/option//g'



    curl -L 주소는 웹 페이지의 소스코드를 가져온다.
    2> /dev/null 은 에러가 있더라구 무시하라
    grep -i  \"admin\" 은 admin 이라는 문자를 포함하는 curl 을 출력하라
    sed 's/"//g' 는 " 를 없는 것으로 치환
    awk 'BEGIN{F=">"}{for (i=1; i<=NF; i++) print $i}' 은 > 문자를 구분자로 짤라라
    grep -v value 는 value 문자만 포함하는 배열 요소를 추출하고
    sed s'/<\/option//g' 는 </option" 을 없는 것으로 치환하라

    (참고

    • https://blog.naver.com/thescream/220227784445
    • http://www.computersecuritystudent.com/cgi-bin/CSS/process_request_v3.pl?HID=f10d6dc6c6c21a10f3aaf29a7ee18eca&TYPE=SUB
    • CURL 을 이용한 웹 취약점 점검 - http://www.hackingarticles.in/web-application-penetration-testing-curl/


    Continue reading

    2018. 6. 13.

    [웹취약점] MySQL, MSSQL 쿼리테스트


    1. MySQL DB 공격 테스트

    테스트 대상 : 로컬 MySQL
    테스트 도구 : MySQL 쿼리분석기
    준비사항 : 아파치 APM 설치, MySQL 설치, MySQL 쿼리분석기 설치

    1) APM 설치

    - 아래 블로그에서 APM 설치파일을 받을 수 있다.
    - http://pritaa.co.kr/106

    2) MySQL 쿼리분석기 설치

    https://downloads.mysql.com/archives/gui/

    3) MySQL query brower 실행 후 아래 정보 입력

    host : 127.0.0.1
    username : root
    passwd : apmsetup
    default schema : 생성하고자 하는 db 이름

    -----------------
    테이블 만들기
    create table test (
    id int,
    name varchar(10),
    passwd varchar(10)
    );

    데이터 입력하기
    insert into test (id, name, passwd)
    values(1, "charlie", "123456");

    insert into test (id, name, passwd)
    values(2, "misha", "qwer");

    insert into test (id, name, passwd)
    values(3, "blind", "hiido");

    ------------


    2. MSSQL DB 공격 테스트

    테스트 대상 : MSSQL 2012
    테스트 도구 : MSSQL 쿼리 분석기
    준비사항 : MSSQL 설치


    1) MSSQL 2012 EXPRESS 설치
    https://www.microsoft.com/ko-kr/download/details.aspx?id=29062


    위 두 파일을 모두 다운로드 하고 SQLEXPR > SQLManagementStudio 순으로 설치를 한다.  (둘다 설치 해야함)

    2) '새 SQL Server 독립 실행형 설치 또는 기존 설치에 기능 추가' 규격으로 설치

    3) 기능 모두 체크하고 설치 (인스턴스 기능, 공유기능)

    4) 기본 인스턴스로 설치 (default 설정은 명명된 인스턴스로 되어 있음)

    5) 서비스 계정 시작 유형을 모두 '자동' 으로 설정함

    6) 혼합 모드로 암호 설정하고 시작한다.

    7) sql server management studio 시작 후 새 데이터 베이스 만들고 시작한다.


    ----------------

    생성된 데이터베이스 test 사용
    use test;

    테이블 test, users, bbs 생성
    create table test
    (
    id int not null,
    name varchar(20) not null,
    password varchar(20) not null
    );

    create table users
    (
    id int not null,
    name varchar(20) not null,
    password varchar(20) not null
    );

    create table bbs
    (
    id int not null,
    name varchar(20) not null,
    password varchar(20) not null
    );

    테이블에 test 데이터 입력

    insert into test
    values(1, 'charlie', '123456');

    insert into test
    values(2, 'charlie', '123456');

    insert into test
    values(3, 'charlie', '123456');


    --------------


    참고

    • MSSQL 설치 가이드 - https://www.youtube.com/watch?v=vng0P8Gfx2g


    Continue reading

    Popular Posts

    Recent Posts

    Powered by Blogger.