[보안] XSS HTML Image 태그 주의할 점

2023. 4. 8. 22:21·IT/Web
반응형

[보안] HTML Image 태그 주의할 점

회사를 다니며 상용 서비스를 운용과 개발을 해왔는데, 그 길지도 않은 기간동안 악의적인 목적으로 혹은 학습 목적으로 보이는 경우의 운용중인 서버를 바라보는 공격적인 행위가 있었다.
그 때의 추억을 되새기며 몇가지 간단한 것들에 대해서 한번 정리 해볼려고 한다.

이미지 파일에 스크립트를 삽입하는 방법

샘플 예시

https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/

 

How To Bypass CSP By Hiding JavaScript In A PNG Image

Hide a malicious JavaScript library in a PNG image and tweet it, then include it in a vulnerable website by exploiting a XSS bypassing its Content-Security-Policy (CSP).

www.secjuice.com

https://vallhalla-edition.tistory.com/58

 

Python 이미지 파일 해킹하기

※ 본 포스팅은 (조성문 정영훈 저) 를 기반으로 작성되었습니다. 개요 (출처: 네이버 웹툰 ) Python은 무시무시한 확장성을 자랑하는 언어이다. 파일을 다루는 방면에서도 아주 강력한 기능을 지

vallhalla-edition.tistory.com


이미지 주소를 HTTP API를 삽입하는 방법

간단한 웹서버를 올림

  • Django, Spring 이든 백엔드 서버는 어떤걸로 하든 상관 없다. 일단 귀찮으니 대충 데모 개발 이후 폴더에 쓸쓸히 있던 Django로 올려서 해보겠다.
# urls.py
path("something", SomethingView.as_view()),

# views.py
class SomethingView(View):

    def get(self, request, *args, **kwargs):
        print(request.headers)
        return HttpResponse(status=204)

백엔드 개발한 내용을 dns 등록되어 접속 가능한 주소로 띄우자.

  • AWS EC2 같은 클라우드 인스턴스를 사용하거나 IDC나 혹은 집에 공인 IP로 사용 중인 서버만 있으면 된다.

HTML Img src에 API 주소 삽입

  • 해당 이미지 태그를 내 블로그에 삽입
<.img src="https://my.host.com/something"/>

결과

  • 결과로 접속한 유저의 정보를 가져올 수 있다.
{
  "Content-Length": "",
  "Content-Type": "text/plain",
  "Host": "*********************",
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
  "Accept": "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",
  "Accept-Encoding": "gzip, deflate, br",
  "Accept-Language": "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,ja;q=0.6,und;q=0.5",
  "Cookie": "abuse_interstitial=3487-222-107-226-43.ngrok-free.app",
  "Referer": "*****************************************",
  "Sec-Ch-Ua": "Google Chrome;v=111, Not(A:Brand;v=8, Chromium;v=111",
  "Sec-Ch-Ua-Mobile": "?0",
  "Sec-Ch-Ua-Platform": "Windows",
  "Sec-Fetch-Dest": "image",
  "Sec-Fetch-Mode": "no-cors",
  "Sec-Fetch-Site": "cross-site",
  "X-Forwarded-For": ""*****************************************",",
  "X-Forwarded-Proto": "https"
}
 
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)
'IT/Web' 카테고리의 다른 글
  • [Web Hacking] Challange 15 풀이
  • [보안] XSS HTML Image 태그 주의할 점 - 2
  • 캐시 (Cache)
  • DNS(Domain Name System) 작동원리
상쾌한기분
상쾌한기분
  • 상쾌한기분
    상쾌한기분
    상쾌한기분
  • 전체
    오늘
    어제
    • 분류 전체보기 (251)
      • Python (44)
        • Python (26)
        • Django (6)
        • Flask (4)
        • Open Source (6)
      • Kotlin & Java (5)
        • Spring (2)
        • 프로젝트 (1)
      • Go (11)
      • Database (24)
        • MySQL (21)
        • Redis (3)
      • Infrastructure (2)
        • CDC (4)
        • Kafka (5)
        • Prometheus (2)
        • Fluentd (11)
        • Docker (1)
        • Airflow (2)
        • VPN (2)
      • IT (26)
        • AI (9)
        • Langchain (8)
        • Web (18)
        • Git (8)
        • 리팩토링 (9)
        • Micro Service Architecture (8)
        • Clean Code (16)
        • Design Pattern (0)
        • 수학 (1)
        • 알고리즘 (14)
      • OS (14)
        • Centos (10)
        • Ubuntu (3)
        • Mac (1)
      • Search Engine (2)
        • ElasticSearch (1)
        • Lucene Solr (1)
      • PHP (2)
        • Laravel (1)
        • Codeigniter (1)
  • 블로그 메뉴

    • Github 방문
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ollama
    Redis
    MYSQL
    prompt
    git
    http
    백준
    fluentd
    go
    Langchain
    performance
    python
    Kafka
    파이썬
    Golang
    LLM
    CDC
    티스토리챌린지
    docker
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상쾌한기분
[보안] XSS HTML Image 태그 주의할 점
상단으로

티스토리툴바