👨🏫 ในรูปได้ยกตัวอย่าง ช่องโหว่ของการเขียนโปรแกรม
ที่เปิดโอกาสให้ผู้ประสงค์ร้ายสามารถโจมตีด้วยวิธี
Command Injection
.
ช่องโหว่นี้เกิดจากในหลายๆ ภาษาโปรแกรมมิ่ง
ได้อนุญาติให้เรียกคำสั่งของระบบปฏิบัติการได้โดยตรง
ซึ่งสุ่มเสี่ยงให้ผู้โจมตีฉวยโอกาสนี้ฉีดคำสั่งเข้าไปในโค้ด
ด้วยการต่อท้ายด้วยข้อความ &&
จึงทำให้แทรกคำสั่งอันตรายเข้าไปได้ เช่น
:
del /F * บน window
หรือ rm -rf * บน linux
:
ในรูปได้ยกตัวอย่างโค้ดภาษา Java
ซึ่งทำงานบน Window
จะเห็นว่าสามารถใช้ && แล้วต่อท้ายด้วยคำสั่งอะไรก็ได้
เช่น && tasklist && dir เป็นต้น
.
แล้วถ้าโปรแกรมมันรันใน linux/Unix
ก็สามารถต่อคำสั่งเป็นลูกโซ่ด้วยข้อความ && หรือ ; ก็ได้
:
และไม่ใช่ Java ภาษาเดียว ที่มีช่องโหว่ประเภทนี้
มันเกิดได้หลายภาษา
ที่อนุญาติให้เรียกคำสั่งของระบบปฏิการโดยตรง
เช่น C#, Python, PHP และหลายๆ ภาษาที่ไม่ได้เอ่ยถึง
:
++++วิธีป้องกัน+++
🤔 ต้อง validate ข้อมูล input อย่างเข้มงวด เช่น
- กรอง input ที่เข้ามา กำหนดว่ามีอะไรได้บ้าง?
- input ที่เข้ามา ห้ามเป็นคำสั่งของระบบปฏิบัติการเด็ดขาด
- ห้ามมี && และ ; อยู่ใน input ที่เข้ามา
- เป็นต้น
.
😏 หรือจะเลี่ยงวิธีเขียนเรียกคำสั่งของระบบปฏิบัติการโดยตรง ไม่ต้องใช้ก็ย่อมได้
++++
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
.
ดูตัวอย่างเพิ่มเติม
https://www.owasp.org/index.php/Command_Injection
👨 🏫 In the photo, for example, the loophole of programming.
Open doors for the evil wills to attack by the way.
Command Injection
.
This loophole is born in many programming languages.
Permission to call direct order of operating system
Who randomly risked this opportunity attacker to inject an order into code.
By ending with a text &&
It's so dangerous to insert like
:
del / F F on window
or rm-rf rf on linux
:
In the picture, for example, Java language code.
Which works on Window
Will see that I can use && and then end up with any order.
Like && tasklist && dir etc.
.
And if the program runs in linux / Unix
Can continue with chain order with text && or; either.
:
And not Java the only language has this type of loophole
It can be born in many languages.
Allowing to call direct command of the operational system.
Like C #, Python, PHP and many languages that are not mentioned.
:
++++ How to prevent +++
🤔 Must strictly validate input information like
- Input filter that comes to determine what's available?
- Input that comes to prohibit is an order of an operating system.
- Don't have && and; stay input that comes.
- etc.
.
😏 or avoid the way to write, call direct command of an operating system. No need to use it.
++++
Written by Thai programmer thai coder
.
See more previews
https://www.owasp.org/index.php/Command_InjectionTranslated
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「java program example」的推薦目錄:
- 關於java program example 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
- 關於java program example 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳解答
- 關於java program example 在 紀老師程式教學網 Facebook 的精選貼文
- 關於java program example 在 コバにゃんチャンネル Youtube 的最佳貼文
- 關於java program example 在 大象中醫 Youtube 的最讚貼文
- 關於java program example 在 大象中醫 Youtube 的最佳解答
java program example 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳解答
👨🏫 ในรูปได้ยกตัวอย่าง ช่องโหว่ของการเขียนโปรแกรม
ที่เปิดโอกาสให้ผู้ประสงค์ร้ายสามารถโจมตีด้วยวิธี
Command Injection
.
ช่องโหว่นี้เกิดจากในหลายๆ ภาษาโปรแกรมมิ่ง
ได้อนุญาติให้เรียกคำสั่งของระบบปฏิบัติการได้โดยตรง
ซึ่งสุ่มเสี่ยงให้ผู้โจมตีฉวยโอกาสนี้ฉีดคำสั่งเข้าไปในโค้ด
ด้วยการต่อท้ายด้วยข้อความ &&
จึงทำให้แทรกคำสั่งอันตรายเข้าไปได้ เช่น
:
del /F * บน window
หรือ rm -rf * บน linux
:
ในรูปได้ยกตัวอย่างโค้ดภาษา Java
ซึ่งทำงานบน Window
จะเห็นว่าสามารถใช้ && แล้วต่อท้ายด้วยคำสั่งอะไรก็ได้
เช่น && tasklist && dir เป็นต้น
.
แล้วถ้าโปรแกรมมันรันใน linux/Unix
ก็สามารถต่อคำสั่งเป็นลูกโซ่ด้วยข้อความ && หรือ ; ก็ได้
:
และไม่ใช่ Java ภาษาเดียว ที่มีช่องโหว่ประเภทนี้
มันเกิดได้หลายภาษา
ที่อนุญาติให้เรียกคำสั่งของระบบปฏิการโดยตรง
เช่น C#, Python, PHP และหลายๆ ภาษาที่ไม่ได้เอ่ยถึง
:
++++วิธีป้องกัน+++
🤔 ต้อง validate ข้อมูล input อย่างเข้มงวด เช่น
- กรอง input ที่เข้ามา กำหนดว่ามีอะไรได้บ้าง?
- input ที่เข้ามา ห้ามเป็นคำสั่งของระบบปฏิบัติการเด็ดขาด
- ห้ามมี && และ ; อยู่ใน input ที่เข้ามา
- เป็นต้น
.
😏 หรือจะเลี่ยงวิธีเขียนเรียกคำสั่งของระบบปฏิบัติการโดยตรง ไม่ต้องใช้ก็ย่อมได้
++++
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
.
ดูตัวอย่างเพิ่มเติม
https://www.owasp.org/index.php/Command_Injection
👨 🏫 In the photo, for example, the loophole of programming.
Open doors for the evil wills to attack by the way.
Command Injection
.
This loophole is born in many programming languages.
Permission to call direct order of operating system
Who randomly risked this opportunity attacker to inject an order into code.
By ending with a text &&
It's so dangerous to insert like
:
del / F F on window
or rm-rf rf on linux
:
In the picture, for example, Java language code.
Which works on Window
Will see that I can use && and then end up with any order.
Like && tasklist && dir etc.
.
And if the program runs in linux / Unix
Can continue with chain order with text && or; either.
:
And not Java the only language has this type of loophole
It can be born in many languages.
Allowing to call direct command of the operational system.
Like C #, Python, PHP and many languages that are not mentioned.
:
++++ How to prevent +++
🤔 Must strictly validate input information like
- Input filter that comes to determine what's available?
- Input that comes to prohibit is an order of an operating system.
- Don't have && and; stay input that comes.
- etc.
.
😏 or avoid the way to write, call direct command of an operating system. No need to use it.
++++
Written by Thai programmer thai coder
.
See more previews
https://www.owasp.org/index.php/Command_InjectionTranslated
java program example 在 紀老師程式教學網 Facebook 的精選貼文
[免費電子書] 500 本與「程式設計」相關的免費電子書
先說好!這些書都是英文的.... 不過都是很好的書!不過書海茫茫,我也不能就這麼把 500 本書往各位面前一丟,說:「慢慢啃吧~」那也太殘忍。所以我幫各位介紹幾本我覺得不錯的書:
<程式語言基礎書籍>
#033. Foundations of Computer Science
這本就是所謂的「計算機概論」。對於直接看程式語言吃力的朋友,您也許是「功底」沒打好,建議可以先看這本。
#084. So You Want to Learn to Program?
這本書看書名也知道,是要帶領完全不懂程式設計者入門的書籍!這本書很有名,有興趣的朋友可以看看。
#071. Programming Languages at a Glance
想知道世界上有幾種重要的程式語言嗎?想知道他們分別有什麼優點嗎?這本書一次告訴你!
<一般程式語言基礎>
#030 Non-Programmers Tutorial For Python
Python 是目前公認、最容易學習的電腦語言,應用範圍也最廣。麻省理工學院的電腦系,更是指定 Python 為大一必修語言。這本書還是寫給完全不懂程式的人看的,更為難得。
#043. Python for Fun
用輕鬆的範例,來教 Python。如果您已經對程式設計有一點點經驗,那這本或許更適合你。
#034. Dive Into Python
這是比上一本「#030 Non-Programmers Tutorial For Python」更為深入的書。如果您學完 Python 有興趣深入的話,建議可以看這本。
#023 88 C Programs
這是一本沒有廢話、用 88 個由淺入深的 C 語言程式,一步一步教會你 C 語言的書!我很喜歡這種「Learn by Example」的書,也知道這種書寫起來比一般書籍要累(不能有廢話、初期範例得用少數教過的指令,示範出某一主題的未來性)。所以有這樣的一本書,我真的高興得要死!也提供給各位參考。
#032. Sams Teach Yourself Java 2 in 24 Hours
Java 語言是學習「物件導向(Object-Oriented)」很棒的一套語言。Sams 出版社的「XX 小時教會你 OO」系列,一直是以簡單易懂聞名。現在有免費的看,真的是太難得了。
<遊戲程式設計領域>
#020 Programming Fundamentals - A Modular Structured Approach using C++
這本書適合沒有程式設計經驗、想往程式設計領域走的朋友看。由於該書使用 C++ 作為示範語言,C++ 又是遊戲程式設計領域中,最重要的語言,所以更適合沒有程式設計經驗、想往遊戲程式設計領域走的朋友研讀。
#026 Creating a Simple 3D Game with XNA
這是使用 C# 這個語言,搭配 XNA 這個遊戲引擎,教你如何撰寫 3D 遊戲(主要是微軟的 XBox 平台)。
<網頁程式設計領域>
#064. JavaScript Essentials
HTML, CSS, JavaScript 號稱網頁前台三大語言。其中 HTML 與 CSS 是所謂的「標示語言(Markup Language)」,所以用到的數理邏輯不多,並不難學。但 JavaScript 可就讓沒有程式設計經驗的人一個頭兩個大了。這本是你 JavaScript 很好的起點。
#048. Ruby Essentials
Ruby 是 Ruby on Rails 這套快速架站工具的基礎語言。如果你對快速架站有興趣,也想學著用 Ruby 三天內架出一個網站,這本是您的起點。
#024 Ruby on Rails Tutorials: Learn Rails by Examples
Ruby on Rails 號稱是目前快速架網第一名的語言!它可以讓程式師在三天內,架設一個功能齊全的網站。在台灣太陽花學運期間,更有工程師群策群力,用一天半的時間,架設一個新聞發佈用網站,一砲成名。這本也是用範例來帶大家入門。不錯的一本書!
希望今天提供的介紹,能對大家有幫助!
500 Free eBooks On Programming!
http://www.efytimes.com/e1/creativenews.asp?edid=119319