• Kiến thức
  • Network
  • Security
  • Software
  • Thủ thuật
  • Tin học văn phòng
  • Tin tức
  • Mail ảo tạm thời miễn phí
  • Tools tra cứu thông tin
  • Công cụ đổi số thành chữ
AnonyViet
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC
No Result
View All Result
AnonyViet
No Result
View All Result

Khai thác XSS với Javascript/JPEG Polyglot

Ellyx13 by Ellyx13
08/09/2023 - Updated on 24/07/2025
in Basic Hacking
A A
0

Mục lục bài viết

  1. Kiến trúc JPEG
  2. Thời gian tiêm
  3. Câu hỏi thường gặp
    1. Javascript/JPEG Polyglot là gì?
    2. Tại sao kỹ thuật này hoạt động?
    3. Có nguy cơ nào khi sử dụng Javascript/JPEG Polyglot không?

Cũng giống như PNG, JPEG và DOC là các loại tệp hợp lệ, polyglot là sự kết hợp của hai loại tệp khác nhau. Ví dụ: Phar + JPEG (tệp lưu trữ PHP và tệp JPEG), GIFAR (tệp Gif và Rar) Javascript + JPEG,….

📢 Tham gia kênh Telegram của AnonyViet
👉 Vào Telegram AnonyViet
Cập nhật bài mới, tools hay và thủ thuật IT nhanh nhất

Khai thác XSS với Javascript/JPEG Polyglot

Các bài viết liên quan

cdoe tuyet trang trang tri website

Chia sẻ Code tuyết rơi cho Website đón Giáng Sinh

16/12/2025
Hướng dẫn học lập trình miễn phí với Vue School 19

Hướng dẫn học lập trình miễn phí với Vue School

02/03/2025 - Updated on 25/07/2025
Discord Nitro Free

Hướng dẫn sử dụng Discord Nitro miễn phí

16/11/2023 - Updated on 24/07/2025
Code tự động liệt kê tất cả đơn hàng Shopee và tổng số tiền đã chi tiêu 20

Code tự động liệt kê tất cả đơn hàng Shopee và tổng số tiền đã chi tiêu

05/10/2023 - Updated on 24/07/2025

Các ứng dụng chỉ cho phép một số loại tệp nhất định trên các tính năng như tải tệp lên và không cho phép các loại tệp khác như tệp .php hoặc .js vì chúng có thể cho phép kẻ tấn công tải lên các tệp độc hại trên ứng dụng. Các ứng dụng thực hiện kiểm tra đuổi file bằng phần mở rộng kép (.jpg.php) hoặc sử dụng byte rỗng trong phần mở rộng (.php%00.jpg), tên tệp (.htaccess, .config,…) và nếu chữ ký của tệp được tải lên cũng phù hợp với loại nội dung của nó.

Xem thêm:  Code Tạo Pháo Hoa Cho Website Trang Trí Tết

Ứng dụng khác nhau sử dụng các phương pháp khác nhau và polyglot có thể được sử dụng để bỏ qua một số kiểm tra xác thực này.

Kiến trúc JPEG

Hình ảnh JPEG được biểu diễn dưới dạng một chuỗi các phân đoạn trong đó mỗi phân đoạn bắt đầu bằng header. Mỗi header bắt đầu bằng một số byte. Payload theo header là khác nhau tùy theo loại header. Các loại điểm đánh dấu JPEG phổ biến như được liệt kê bên dưới:

0xffd8: “Start of Image”,
0xffe0: “Application Default Header”,
0xffdb: “Quantization Table”,
0xffc0: “Start of Frame”,
0xffc4: “Define Huffman Table”,
0xffda: “Start of Scan”,
0xffd9: “End of Image”

Mỗi tệp nhị phân chứa một vài header. Chúng rất quan trọng đối với tệp vì chúng xác định thông tin cụ thể của tệp. Hầu hết các header được theo sau bởi thông tin độ dài. Điều này cho chúng ta biết phân đoạn cụ thể đó dài bao nhiêu.

Phần đầu của header hình ảnh chứa FF D8. Nếu chúng ta không nhìn thấy nó, chúng ta có thể cho rằng đây là một tệp khác. Một điểm đánh dấu quan trọng khác là FF D9 cho biết phần cuối của hình ảnh.

Để làm cho payload trông giống như một tệp JPEG hợp pháp, chúng ta sẽ thêm độ dài của header, header nhận xét, các byte rỗng vào pad và sau đó là vectơ tấn công javascript.

Giả sử vectơ tấn công là một lỗ hổng XSS */=alert(“XSS”)/* Chuyển nó thành hệ thập lục phân sẽ như thế này.

Xem thêm:  Hướng dẫn sử dụng Discord Nitro miễn phí

Khai thác XSS với Javascript/JPEG Polyglot 11

Payload trong hex:

2A 2F 3D 61 6C 65 72 74 28 22 58 53 53 2E 22 29

Chúng ta có thể sử dụng một trình soạn thảo hex để đưa javascript vào metadata của hình ảnh. Điều này hoạt động được vì các trình duyệt diễn giải code khi chúng hiển thị hình ảnh thành HTML.

Khai thác XSS với Javascript/JPEG Polyglot 12

Mình đã nhận được một image test.jpg và dưới đây là hexdump của test.jpg. Với sự trợ giúp của trình soạn thảo ghex, chúng ta sẽ thay thế một số ký tự hex và lưu chúng.

Khai thác XSS với Javascript/JPEG Polyglot 13

Như chúng ta biết FF D8 là phần bắt đầu của hình ảnh, hai byte tiếp theo đại diện cho hai byte sắp tới, 00 10 đại diện cho độ dài của tiêu đề JPEG tương đương với số thập phân là 16 byte.

Thời gian tiêm

Chúng ta sẽ đưa payload vào giữa FF E0 và FF DB. Hãy bắt đầu với 2F 2A, là đại diện hex của /*

Khai thác XSS với Javascript/JPEG Polyglot 14

Chúng ta vừa thay thế 00 10 trước đây bằng 2F 2A và tương đương thập phân của hex 2F 2A là 12074 byte. Vì vậy, bây giờ header hình ảnh được thay đổi từ 16 byte thành 12074 byte.

Khai thác XSS với Javascript/JPEG Polyglot 15

Từ ảnh chụp màn hình ở trên, chúng ta có thể thấy kích thước của payload là 18 byte, vì vậy chúng ta phải xóa các byte còn lại bằng null là 12074–16–18 = 12040 byte.

Khai thác XSS với Javascript/JPEG Polyglot 16

Các lệnh trên sẽ đọc test.jpg, chèn payload vào giữa 2F 2A FF DB thay đổi hệ lục phân vào bộ đệm, thêm 12040 byte rỗng và ghi nó vào tệp test_new.jpg. Bây giờ trong trình soạn thảo ghex đóng thẻ comment trước FF D9

Xem thêm:  Cẩn thận khi Copy Code từ các trang Web - Bạn có thể bị Hack

Khai thác XSS với Javascript/JPEG Polyglot 17

Code to execute image as javascript:-<script charset="ISO-8859-1" src="test_new.jpeg">

Trên Firefox khi sử dụng bộ ký tự UTF-8, nó sẽ làm hỏng polyglot khi được đưa vào dưới dạng tập lệnh. Vì vậy, để tập lệnh hoạt động, chúng ta cần chỉ định bộ ký tự ISO-8859–1 trên thẻ script và nó thực thi tốt.

Và đây là khi test trên trình duyệt.

Khai thác XSS với Javascript/JPEG Polyglot 18

Polyglot javascript/jpeg của chúng ta đã hoạt động rồi đó.

Cập nhật: Mozilla đã sửa lỗi này trong Firefox 51 và các phiên bản sau.

Câu hỏi thường gặp

Javascript/JPEG Polyglot là gì?

Javascript/JPEG Polyglot là một tệp kết hợp cả mã Javascript và hình ảnh JPEG. Nó được sử dụng để bỏ qua các cơ chế kiểm tra loại tệp, cho phép mã độc được tải lên dưới dạng hình ảnh.

Tại sao kỹ thuật này hoạt động?

Kỹ thuật này hoạt động vì một số trình duyệt có thể diễn giải mã Javascript được nhúng trong metadata của tệp JPEG, ngay cả khi tệp được tải lên dưới dạng hình ảnh.

Có nguy cơ nào khi sử dụng Javascript/JPEG Polyglot không?

Có. Kỹ thuật này có thể được sử dụng để thực hiện các cuộc tấn công XSS (Cross-Site Scripting) và các cuộc tấn công khác. Các nhà phát triển nên thực hiện các biện pháp bảo mật để ngăn chặn việc tải lên các tệp độc hại.

Tags: javascriptJPEGPolyglotXSS
Ellyx13

Ellyx13

DevOps với hơn 7 năm kinh nghiệm trong lĩnh vực hạ tầng, tự động hóa CI/CD và triển khai hệ thống phân tán trên các nền tảng như AWS, Azure và Kubernetes. - AWS Certified DevOps Engineer – Professional - Certified Kubernetes Administrator (CKA) - HashiCorp Certified: Terraform Associate - Docker Certified Associate (DCA) Có người không dám bước vì sợ gãy chân, nhưng sợ gãy chân mà không dám bước đi thì khác nào chân đã gãy.

Related Posts

cdoe tuyet trang trang tri website
Code

Chia sẻ Code tuyết rơi cho Website đón Giáng Sinh

16/12/2025
Hướng dẫn học lập trình miễn phí với Vue School 21
Khóa Học

Hướng dẫn học lập trình miễn phí với Vue School

02/03/2025 - Updated on 25/07/2025
Discord Nitro Free
Mẹo Vặt Máy Tính

Hướng dẫn sử dụng Discord Nitro miễn phí

16/11/2023 - Updated on 24/07/2025
Code tự động liệt kê tất cả đơn hàng Shopee và tổng số tiền đã chi tiêu 22
Code

Code tự động liệt kê tất cả đơn hàng Shopee và tổng số tiền đã chi tiêu

05/10/2023 - Updated on 24/07/2025
Cách tìm thấy lỗi Stored XSS đơn giản 23
Basic Hacking

Cách tìm thấy lỗi Stored XSS đơn giản

26/08/2023 - Updated on 24/07/2025
Code tạo Page tự động trên Facebook 24
Facebook

Code tạo Page tự động trên Facebook

30/04/2023 - Updated on 24/07/2025
guest

guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
oldest
newest
Inline Feedbacks
View all comments

Liên hệ Quảng Cáo

Lien he AnonyViet

Bài viết mới

cách đăng ký tên miền .co.uk miễn phí

Hướng dẫn cách đăng ký tên miền .co.uk miễn phí 1 năm

by Thanh Kim
12/03/2026
0

cách xem danh sách ứng cử viên ĐBQH trên VNeID

Cách xem danh sách ứng cử viên ĐBQH trên VNeID 2026

by Thanh Kim
12/03/2026
0

Pixel Agents vscode

Pixel Agents: Biến VS Code Thành Văn Phòng Pixel Art Cho AI

by AnonyViet
12/03/2026
0

Paperclip AI

Cách Setup Paperclip AI: Tạo Công Ty cho AI Agent

by AnonyViet
12/03/2026
0

Giới thiệu

AnonyViet

AnonyViet

Nơi chia sẻ những kiến thức mà bạn chưa từng được học trên ghế nhà trường!

Chúng tôi sẵn sàng đón những ý kiến đóng góp, cũng như bài viết của các bạn gửi đến AnonyViet.

Hãy cùng AnonyViet xây dựng một cộng đồng CNTT lớn mạnh nhất!

Giới thiệu

AnonyViet là Website chia sẻ miễn phí tất cả các kiến thức về công nghệ thông tin. AnonyViet cung cấp mọi giải pháp về mạng máy tính, phần mềm, đồ họa và MMO.

Liên hệ

Email: support[@]anonyviet.com

1409 Hill Street #01-01A
Old Hill Street Police Station
Singapore 179369

 

DMCA.com Protection Status

Bình luận gần đây

  • 45555 trong Sự trỗi dậy của “Người ngoài hành tinh”: Alienware Aurora AC16250 “Vũ khí” tối thượng định hình Gaming năm 2026
  • 45555 trong Cách làm mờ ảnh trên iPhone sau khi chụp cực đơn giản
  • vatuan13 trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • vatuan13 trong Hướng dẫn thiết lập định vị giả trên Zalo
  • AnonyViet trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • hùng lê trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • Kelvin trong Hướng dẫn thi chứng chỉ bảo mật CTIGA miễn phí 100%
  • Minh trong Hướng dẫn kết nối OpenClaw với Whatsapp
  • AnonyViet trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • congdk trong Hướng Dẫn Cấu Hình OpenClaw Trên VPS Ubuntu 2.5G RAM (giá chỉ 18$/năm)
  • AnonyViet trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • AnonyViet trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • Tran Minh trong Hướng dẫn cài OpenClaw – AI Trợ lý cá nhân trên máy tính
  • AnonyViet trong Chia sẻ key SwifDoo PDF Pro miễn phí bản quyền lên đến 1 năm
  • Kerya Kuznetsov trong Chia sẻ key SwifDoo PDF Pro miễn phí bản quyền lên đến 1 năm
  • AnonyViet trong Chia sẻ key SwifDoo PDF Pro miễn phí bản quyền lên đến 1 năm
  • 1234560987 trong Chia sẻ key SwifDoo PDF Pro miễn phí bản quyền lên đến 1 năm
  • Lim trong Tổng hợp các Website tạo VISA ảo (virtual card) để mua hàng Online
  • Linh trong Cách dùng bot tự động verify để đăng ký ChatGPT K12, Spotify Student,…
  • Thịnh trong Tải và kích hoạt Office 2021 Free với tool OfficeSavior
kết quả xổ số hôm nay U888 33win Ae888 kubet kubet 8kbet 99ok trang chủ sc88 xin88 good88 kubet fm88 kubet thailand vip66 xoso66 https://tp88fun.com/ hello88 qq88 Xoso66 Vip66 hitclub bong99 XOSO66 new882.info Thabet fun88 nhà cái uy tín sunwin sunwin rikvip hitclub sunwin go88 12bet v9bet betvisa betvisa vin777 vin777 ee88 bet88 abc8 c54 https://keonhacai.fund/ sunwin cakhiatv socolive Xoso66 zx88 58win fun88.supply EE88 FB88 https://da88.design/ https://fun88.supply/ F8BET80 https://q23win.com/ 32win https://lc88.jpn.com/ u888 8xbet W88 link 58win 58WIN https://bbet88b.com/ OK9 SHBET https://xx88.center/ vswin 789PCOM NHÀ CÁI MMOO TT88COM GO 99 RR88 ABC8 https://nowgoal.ws/ https://tylekeonhacai.me/ https://keonhacai.org.vc/ https://xx88.ac/ xx88.me.uk XN88 NOHU90 68WIN GO99 AF88 HM88 HZ88 https://xx88.asia/ 789f NOHU HITCLUB Sunwin 58WIN MV88 888NEW AZ888 PG99 TD88 12bet v9bet X88 NOHU90 Thabet vip66 7mcn hm88 xoso66 DA88 9BET https://daga.rocks https://c168.info/ LC88 Game WIN678 sv368 SH BET https://jun88sr.com/ GVUI TR88 NOHU90 TG88 Taptap 188bet taptap 188BET Link https://qq88pro.vip/ https://kjcgaming.com https://nohutm.com 6789 789Win 12bet https://tiendanutrisalud.com/ https://go8.red/ 23win clubv 7m https://urr88.com/ Mig8 mcw casino hit club game bai tg88 kèo nhà cái 5 9 win Sunwin UU88 nổ hũ uy tín Go88 https://bancadoithuong.codes/ https://danhdeonline.blog/ Xocdia88 https://nhacaiuytin10.uk.com/ https://keonhacai88.tv/ https://keonhacai.loans/ https://gamebaidoithuong.io/ https://keonhacai.kiwi/ 789club sodo casino ok 8386 xx88 V9BET Sun52 king52 x88 https://918xxy.com/ Luckywin https://sc88.info/ https://go99bet.live/ https://tt88.ae.org/ kjc https://socolive.stream/ F168 Nhà cái 789BET keo nha cai 5 SC88 https://lc88.bio/ F168 8us https://www.open8808.com/ c168 fly88 hytw3339 ok9 https://go99.mx/ f168 79king Sunwin nhà cái MB66 Luck8 Alo789 hello88 f168 mb66 MV88 sc88 11uu vn23 8DAY ko66 789win 88CLB kèo nhà cái TẢI SUNWIN Thabet tg88 c168 CM88 nạp tiền qq88 8kbet Lode88 game bài game nổ hũ tỷ lệ nhà cái sun win gavangtv colatv truc tiep bong da trực tiếp bóng rổ thapcamtv iwin SH BET https://www.78wind.love/ SODO luck8 tr88 cm88 https://kjcgaming.com/ https://devmarks.io cwin Kkwin https://abc8.za.com V9bet 888slot Keonhacai5 ALO8.com F168 rikvip VIN777 b52club Rik88 8kbet KUBET TT88 789club 789club

©2026 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về CNTT

No Result
View All Result
  • Tin tức
  • Network
    • Mạng cơ bản
    • Hyper-V
    • Linux
    • Windown Server 2012
  • Security
    • Basic Hacking
    • Deface
    • Kali Linux / Parrot
    • SQL Injection
  • Thủ thuật
    • Khóa Học Miễn Phí
    • Code
    • Mẹo Vặt Máy Tính
    • Facebook
    • Windows 7/8/10/11
    • Đồ Họa
    • Video
  • Software
    • Phần mềm máy tính
    • Phần mềm điện thoại
  • Tin học văn phòng
  • Kiến thức
  • MMO
    • Advertisers – Publishers
    • Affiliate Program
    • Kiếm tiền bằng điện thoại
    • Pay Per Click – PPC

©2026 AnonyViet - Chúng tôi mang đến cho bạn những kiến thức bổ ích về CNTT

wpDiscuz