보안 74

[System Hacking] out_of_bound

>> 소스코드 >> 메모리 구조 higher.. --stack-- Return addressold EBP [ebp]push ecx [ebp - 4]? [ebp - 8]? [ebp - 12]idx값 [ebp - 16] -- stack-- namecommand lower.. Q. idx의 주소는 어떻게 알았는가?A.소스 코드를 보면 idx는 scanf()의 두번째 argument로 입력되므로,어셈블리에서 scanf()가 호출되기 전 부분을 보고, 그 순간에 stack에 push되는 걸 보자.   0x08048723 :    lea    eax, [ebp-0x10]    0x08048726 :    push   eax    0x08048727 :    push   0x8048832    0x0804872c :..

보안/Wargame 2024.07.10

[Web Hacking] file-download-1

>> 소스 코드 upload 과정에서는 filename에 ".."가 들어가는지 점검한다. 그러나 download 과정에서는 filename에 ".."가 들어가는지 확인하지 않는다.  >> exploit 소스코드를 보면,업로드되어있는 파일을 읽기 위해서는/read에 "name" parameter를 전달해야 한다. 실제로 업로드&read 테스트를 해봐도,http://host3.dreamhack.games:21074/read?name=mytitle로 접속하게 됨을 확인할 수 있다. 즉, http://host3.dreamhack.games:21074/read?name=☆로 접속함으로써, ☆ 파일을 읽는 것이다. 그러므로, 만약 공격자가 상위 디렉토리의 flag.py를 읽고 싶다면,☆ 자리에 ../flag.py를..

보안/Wargame 2024.07.09

[Web Hacking] image-storage

>> 소스코드 분석  # list.phpline 26~32의 php에 의해,현재 위치 아래의 uploads 폴더 내 파일들(중 .., ., index.html는 제외)의 list가 출력된다. # upload.php※ move_uploaded_file(A, B): 파일 A가 php의 HTTP POST 방식으로 업로드 되었는지 확인한 뒤 B로 옮김 이용자는 http://host1.dreamhack.games:[PORT]/uploads/[FILENAME] URL을 통해 파일에 접근 가능   >> exploit # 공격자는 뭘 할수 있는가? 어떤 파일이든 서버에 올릴 수 있다. # 그 파일로 뭘 수행해야 하는가? 이 파일이 실행됨으로써,서버가 "cat /flag.txt" 명령어를 실행하고 그 결과를 브라우저에 ..

보안/Wargame 2024.07.08

네트워크 보안 소개

# 패킷 스니핑네트워크 통해 전송되는 패킷을 가로채 분석  by wireshark, tcpdump# 포트 스캐닝네트워크 상의 시스템에서 열린 통신 포트를 스캔해 취약점을 식별하는 기술  포트가 열려있는지 여부를 확인할 수 있음 honeypot?으로 포트 개방 여부를 변조할 수 있음  by Nmap# 스푸핑* IP 스푸핑 자신의 IP주소를 다른 IP주소로 변조해 네트워크에 접근 DDoS에도 활용  * ARP 스푸핑 ARP를 조작해 다른 컴퓨터의 트래픽을 가로챔 * DNS 스푸핑 DNS 응답을 조작해 사용자를 악성 사이트로 유도 # MITM 네트워크 통신 중에 두 시스템간의 통신을 가로채고 변조 # DDoS 공격다수의 시스템을 활용해 특정 서버나 네트워크에 과도한 트래픽을 유발시켜 정상적 서비스를 방해  b..