본문 바로가기
카테고리 없음

정보보안8 9-10차시 요약

by IT매니절 2024. 12. 15.

토요일 집회에 나가느라 학원 9차시에 불참했는데,

다음날까지 앓아누워서 10차시까지 불참했다... 때문에 교안을 보고 필요한 부분만 요약하여 기록함

 

-

php를 통한 공격 및 크롤링

import requests
import bs4
url = "대상"
res = requests.get(url)
soup = bs4.BeautifulSoup(res.text, 'html.parser')
ret_value = soup.find('태그')
ex) 'b' 태그등이 있으면 에러, 없으면 정상 등 구분할 기준 필요

 

bs4
HTML 및 XML 문서를 구문 분석하여 데이터를 쉽게 추출할 수 있도록 도와주는 라이브러리
통신기능은 없고 크롤링 작업에 주로 사용됨

re
정규표현식을 사용해 문자열에서 특정 패턴을 검색, 추출, 치환하는 라이브러리
ex) search(패턴검색), findall(모든결과), sub(일치하는 부분 치환)

 

+
Burp Proxy에서 인터페이스를 Loopback only -> All interfaces로 변경하면 테스트 코드 실행한 것도 잡을 수 있다

 

sed
Stream Editor의 약자
텍스트 데이터를 처리하고 수정하는 데 사용하는 명령어
스크립트에서 자동화 시킬 때 많이 사용
특정 패턴을 변경, 삭제, 추가, 변환

sed -i 's/text1/text2/' tempText.txt
=> tempText.txt 파일의 내용중 text1을 text2로 변경한다
sed -n '1,$p' tempText.txt
=> tempText.txt 파일의 내용중 1행부터 끝까지 출력한다
sed '/^$/d' tempText.txt
=> tempText.txt 파일의 내용중 빈 행 삭제
sed -i '$aTextEnd' tempText.txt
=> 파일 마지막에 TextEnd라는 문자열을 추가하여 덮어쓴다

옵션
-n : 일치하는 라인을 출력한다
-e : 조건식 스크립트 직접 지정
-c : copy
-r : 확장 정규표현식을 이용한 스크립트 사용
등등.

서브명령어는 a\(추가) c\(교체) d(삭제) i\(삽입) p(출력) 등등

 

정규표현식
\s: 공백 문자
\+: 하나 이상의 공백 문자
{3, 5} : 직전 문자가 3-5번 출현
. : 임의의 한 문자

 

Blind SQL Injection
직접적인 에러 메시지나 결과를 반환하지 않는 경우에도 공격자가 SQL 주입을 통해 데이터베이스의 정보를 추출하거나 조작

 

' or ascii(substring(database(),1,1)) = 101#

...

' or ascii(substring(database(),1,1)) = 109#
=> id부분에 해당 쿼리를 넣어서 일치하면 로그인이 성공된다. 반복적인 질의를 통해 답을 알아낸다.

 

 

+문자를 이용해 for문 돌리는 방법
for c in range(ord('a'), ord('z')+1):
    print(chr(c), c)

 

Xming을 이용한 리눅스 Xwindow 프로그램을 윈도우 10 화면으로 가져오기
참고: https://cafe.naver.com/linuxmasternet/1189

 

 

DBMS 클라이언트 Heidi SQL
윈도우용 MySQL/MariaDB 접속 클라이언트 프로그램
사이트 : https://www.heidisql.com/download.php
설치형 : https://cafe.naver.com/linuxmasternet/949
비설치형 : https://www.heidisql.com/download.php?download=portable

Hiedi SQL에서 제공하는 SSH Tunnel이 아닌 관리자가 직접 설정해서 접속하려면
cmd에서 ssh명령어로 직접 진행해야 한다

신규등록 예시
세션 이름: Remote MariaDB
네트워크 유형: MariaDB or MySQL (TCP/IP)
라이브러리: libmariadb.dll
호스트명 / IP: 127.0.0.1
사용자: root 
암호: 111111
포트: 3307
압축된 클라이언트/서버 프로토콜 체크
저장 버튼을 클릭해서 저장

해당 서버에 먼저 useradd를 통해 터널링전용 아이디 생성. ex) tunneluser

window cmd
C:\> del .ssh\known_hosts
C:\> netstat -na|findstr 3307
C:\>ssh -L 3307:localhost:3306 tunneluser@192.168.100.24 -N -f

키 생성하고 비밀번호 입력하면 접속됨

Hiedi SQL에서 제공하는 SSH Tunnel을 설정해서 접속하려면
네트워크 유형을 MariaDB or MySQL (SSH Tunnel)로 선택한다.

 

이때도 터널링전용 아이디 생성하는 것이 안전.