👨🏫 ในรูปได้ยกตัวอย่าง ช่องโหว่ของการเขียนโปรแกรม
ที่เปิดโอกาสให้ผู้ประสงค์ร้ายสามารถโจมตีด้วยวิธี
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
linux rm rf 在 โปรแกรมเมอร์ไทย 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
linux rm rf 在 純靠北工程師 Facebook 的精選貼文
#純靠北工程師331
工程師:「林sir聽說你的興趣是做甜點?那我這樣跟你說好了,假設有一個貨架,上面是各種做餅乾的原料,像是麵粉、砂糖、奶油什麼的;一般人用的delete,就是把這些原料通通拿下來分別扔進垃圾桶,而你家員工剛才在測試Linux上面用的rm -rf指令,就是把這些原料全部拆開來,攪和在一起弄成一個麵團再扔。」
工程師:「如果要把這個貨架恢復原狀的話,兩者的難易度完全不在一個級別,不如說後者在原則上根本不可能恢復原狀。你現在應該懂亂用rm -rf這個指令的下場了吧?你要感謝你的上帝當時那台測試機是下線狀態,不然你要找的就不是工程師而是律師了。」
今天跟著學長去處理客戶叫修增加經驗,順便學習如何當面跟客戶應對,結果當場見識到據說十分稀有的工程師電人畫面,感覺真是蘇胡呢。
👉 去 GitHub 給我們🌟用行動支持純靠北工程師 https://github.com/init-engineer/init.engineer
📢 匿名發文請至 https://kaobei.engineer/cards/create
🥙 全平台留言 https://kaobei.engineer/cards/show/3997
linux rm rf 在 "rm -rf /" command illustrated - nixCraft - Facebook 的美食出口停車場
Also do check my openssh security best practices https://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server ... ... <看更多>