■ SQL Injection(Sql Lite)


sqlite란 무엇?


mysql이나 postgreSQL과 같은 dbms이지만 서버가 아니라 응용프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스 가운데 api는 단순히 라이브러리를 호출하는 것만 있고, 데이터를 저장하는데 하나의 파일만을 사용하는 것이 특징

(주로 모바일



실제로 입력되는 값들을 찾아보면 'union select 1, sqlite_version(), 3,4,5,6--를 통해 SQLite 버전 정보가 출력되는 것을 확인


뒤의 --는 주석처리를 한다는 의미 즉 뒤에 무엇이 오든 상관이 없다는 의미이다.


앞에 어떠한 쿼리가 존재하지는 모르나 union으로 sql을 통합하고 그결과를 가져온다고 생각!!


'union select 1, sql, 3,4,5,6 from sql_master--를 입력하면 다음과 같이 쿼리문이 출력!!


■ 주요정보통신기반시설 Oracle-DBMS의 취약점 가이드


2.5 일정 횟수의 로그인 실패 시 잠금 정책 설정

취약점 구분 접근관리

실제 취약점을 살펴 보면 접근 횟수 제한을 위해 파라미터 설정을 하라고 정의됨

그렇다면 프로파일이 현재 계정에 어떻게 되어 있는지 조회할 필요성이 존재

이유 프로파일의 현재 상태를 보고 안되어 있다면 조치를 해야 하기 때문에...


◆ 작업순서 정책에 따른 프로파일을 만든다-->만든 프로파일을 해당 계정에 적용시킨다.


실제 작업 방법을 확인



다음과 같이 실제 system 계정의 프로파일을 확인해 보면 다음과 같이 결과 값이 나옴


failed_login_attempts는 계정잠금: 계정을 잠그기 전까지 로그인을 시도하다 실패한 횟수, 만약 오라클 서버는 faied_login_attempts 값에 도달하면 자동으로 계정을 잠금




필자처럼 함수를 통해 삽입을 하던지 혹은 다른 방법으로 통해 악성코드 삽입을 한후 submit를 클릭

하게 되면 하단의 그래프처럼 나타나게 된다. * 문제발생


*iframe을 이용한 공격


'23.12.24 삭제예정 > 웹해킹' 카테고리의 다른 글

■ Day 1 웹 해킹-디렉토리 리스팅  (0) 2019.02.10
sql injection(sqlite)  (0) 2019.02.01
oracle  (0) 2019.01.30
bee box를 이용한 취약점 점검 방법  (0) 2019.01.29
프록시 툴을 활용한 beebox 접속  (0) 2019.01.28


다음과 같이 아이디 및 패스워드를 전송 함


&를 통해 키=값의 쌍으로 이뤄진 것을 확인



<script>alert(document.cookie)</script>를 통해 다음과 같이 쿠키값을 얻을수 있음

<img src=http://클라이언트아이피주소/bWAPP/images/cc.png></img>의 삽입을 통해 정보 획득


이를 방지하기 위해서는 다음과 같이 변환할 필요!!


다음의 내용은 apt-get install gedit를 설치후, login.php로 들어갈시 나타남




실제 이 함수가 적용된 위치는 다음과 같다.





실제 편집을 하기 위해서는 sudo명령어를 통해 접근을 실시


실제 호출된 함수가 호출된 login.php에 불러 들여지는 xss_check_0을 추가함으로써 실제 0으로 low레벨로 불러 들여지는 것을 방지한다.




'23.12.24 삭제예정 > 웹해킹' 카테고리의 다른 글

■ Day 1 웹 해킹-디렉토리 리스팅  (0) 2019.02.10
sql injection(sqlite)  (0) 2019.02.01
oracle  (0) 2019.01.30
html injection-stored, iframe 공격  (0) 2019.01.29
프록시 툴을 활용한 beebox 접속  (0) 2019.01.28

+ Recent posts