คำถามติดแท็ก security

หัวข้อที่เกี่ยวข้องกับความปลอดภัยของแอปพลิเคชันและการโจมตีซอฟต์แวร์ โปรดอย่าใช้แท็กนี้เพียงอย่างเดียวซึ่งส่งผลให้เกิดความกำกวม หากคำถามของคุณไม่เกี่ยวกับปัญหาการเขียนโปรแกรมที่เฉพาะเจาะจงโปรดลองถามคำถามที่ Information Security SE: https://security.stackexchange.com แทน

3
จะ จำกัด setAccess ได้เฉพาะการใช้งานที่ "ถูกต้อง" ได้อย่างไร
ยิ่งฉันเรียนรู้เกี่ยวกับพลังของjava.lang.reflect.AccessibleObject.setAccessibleมันมากเท่าไหร่ฉันก็ยิ่งประหลาดใจมากขึ้นในสิ่งที่สามารถทำได้ สิ่งนี้ดัดแปลงมาจากคำตอบของฉันสำหรับคำถาม ( การใช้การสะท้อนเพื่อเปลี่ยน File.separatorChar ขั้นสุดท้ายแบบคงที่สำหรับการทดสอบหน่วย ) import java.lang.reflect.*; public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); } public static void main(String args[]) throws Exception { setFinalStatic(Boolean.class.getField("FALSE"), true); System.out.format("Everything is %s", false); // …

11
X-Frame-Options อนุญาตจากหลายโดเมน
ฉันมีไซต์ ASP.NET 4.0 IIS7.5 ซึ่งฉันต้องการความปลอดภัยโดยใช้ส่วนหัว X-Frame-Options ฉันต้องเปิดใช้งานหน้าเว็บไซต์ของฉันให้เป็น iframed จากโดเมนเดียวกันและจากแอพ facebook ของฉัน ขณะนี้ฉันได้กำหนดค่าไซต์ของฉันด้วยไซต์ที่มุ่งหน้าไปที่: Response.Headers.Add("X-Frame-Options", "ALLOW-FROM SAMEDOMAIN, www.facebook.com/MyFBSite") เมื่อฉันดูหน้า Facebook ของฉันด้วย Chrome หรือ Firefox หน้าเว็บไซต์ของฉัน (อยู่ใน iframed กับหน้า Facebook ของฉัน) จะแสดงผลได้ แต่ภายใต้ IE9 ฉันได้รับข้อผิดพลาด: "ไม่สามารถแสดงหน้านี้ได้ ... " (เนื่องจากX-Frame_Optionsข้อ จำกัด ) ฉันจะตั้งค่าX-Frame-Options: ALLOW-FROMให้รองรับมากกว่าโดเมนเดียวได้อย่างไร X-FRAME-OPTION การเป็นคุณลักษณะใหม่ดูเหมือนจะมีข้อบกพร่องโดยพื้นฐานหากสามารถกำหนดได้เพียงโดเมนเดียว

3
วิธีเพิ่มโทเค็นการปลอมแปลงคำขอข้ามไซต์ (CSRF) อย่างถูกต้องโดยใช้ PHP
ฉันกำลังพยายามเพิ่มความปลอดภัยให้กับแบบฟอร์มบนเว็บไซต์ของฉัน รูปแบบหนึ่งใช้ AJAX และอีกแบบเป็นแบบฟอร์ม "ติดต่อเรา" ที่ตรงไปตรงมา ฉันกำลังพยายามเพิ่มโทเค็น CSRF ปัญหาที่ฉันพบคือโทเค็นจะแสดงใน "ค่า" HTML บางครั้งเท่านั้น เวลาที่เหลือค่าว่างเปล่า นี่คือรหัสที่ฉันใช้ในแบบฟอร์ม AJAX: PHP: if (!isset($_SESSION)) { session_start(); $_SESSION['formStarted'] = true; } if (!isset($_SESSION['token'])) {$token = md5(uniqid(rand(), TRUE)); $_SESSION['token'] = $token; } HTML <form> //... <input type="hidden" name="token" value="<?php echo $token; ?>" /> //... </form> ข้อเสนอแนะใด ๆ ?
100 php  security  session  csrf 

10
ความจำเป็นในการซ่อนเกลือสำหรับกัญชา
ในที่ทำงานเรามีสองทฤษฎีที่แข่งขันกันสำหรับเกลือ ผลิตภัณฑ์ที่ฉันทำงานใช้บางอย่างเช่นชื่อผู้ใช้หรือหมายเลขโทรศัพท์เพื่อเพิ่มแฮช โดยพื้นฐานแล้วสิ่งที่แตกต่างกันสำหรับผู้ใช้แต่ละคน แต่พร้อมสำหรับเรา ผลิตภัณฑ์อื่น ๆ จะสุ่มสร้างเกลือสำหรับผู้ใช้แต่ละรายและจะเปลี่ยนแปลงทุกครั้งที่ผู้ใช้เปลี่ยนรหัสผ่าน จากนั้นเกลือจะถูกเข้ารหัสในฐานข้อมูล คำถามของฉันคือแนวทางที่สองจำเป็นจริงหรือ? ฉันเข้าใจได้จากมุมมองทางทฤษฎีล้วนๆว่าปลอดภัยกว่าแนวทางแรก แต่จากมุมมองการปฏิบัติจริง ในขณะนี้ในการพิสูจน์ตัวตนผู้ใช้ต้องไม่เข้ารหัสเกลือและนำไปใช้กับข้อมูลการเข้าสู่ระบบ หลังจากคิดแล้วฉันก็ไม่เห็นประโยชน์ด้านความปลอดภัยที่แท้จริงจากแนวทางนี้ การเปลี่ยน Salt จากบัญชีเป็นบัญชียังคงทำให้บางคนพยายามบังคับใช้อัลกอริธึมการแฮชแบบเดรัจฉานแม้ว่าผู้โจมตีจะทราบวิธีการตรวจสอบอย่างรวดเร็วว่ามันคืออะไรสำหรับแต่ละบัญชีก็ตาม สิ่งนี้เกิดขึ้นโดยสันนิษฐานว่ารหัสผ่านมีความแข็งแกร่งเพียงพอ (เห็นได้ชัดว่าการค้นหาแฮชที่ถูกต้องสำหรับชุดรหัสผ่านที่เป็นตัวเลขสองหลักนั้นง่ายกว่าการค้นหาแฮชรหัสผ่านที่ถูกต้องซึ่งเป็นตัวเลข 8 หลัก) ตรรกะของฉันไม่ถูกต้องหรือมีบางอย่างที่ฉันขาดหายไป? แก้ไข:โอเคนี่คือเหตุผลที่ฉันคิดว่ามันเป็นเรื่องยากที่จะเข้ารหัสเกลือ (รู้ว่าฉันมาถูกทางหรือเปล่า) สำหรับคำอธิบายต่อไปนี้เราจะถือว่ารหัสผ่านเป็น 8 ตัวอักษรเสมอและเกลือคือ 5 และรหัสผ่านทั้งหมดประกอบด้วยตัวอักษรพิมพ์เล็ก (มันทำให้การคำนวณง่ายขึ้น) การมีเกลือที่แตกต่างกันสำหรับแต่ละรายการหมายความว่าฉันไม่สามารถใช้ตารางสายรุ้งเดียวกันได้ (จริงๆแล้วในทางเทคนิคฉันทำได้ถ้าฉันมีขนาดที่เพียงพอ แต่ขอเพิกเฉยต่อสิ่งนั้นในขณะนี้) นี่คือกุญแจสำคัญที่แท้จริงของเกลือจากสิ่งที่ฉันเข้าใจเพราะในการแตกทุกบัญชีฉันต้องสร้างวงล้อขึ้นมาใหม่เพื่อที่จะพูดถึงแต่ละบัญชี ตอนนี้ถ้าฉันรู้วิธีใช้เกลือที่ถูกต้องกับรหัสผ่านเพื่อสร้างแฮชฉันจะทำเพราะเกลือนั้นขยายความยาว / ความซับซ้อนของวลีที่แฮช ดังนั้นฉันจะตัดจำนวนชุดค่าผสมที่เป็นไปได้ที่ฉันต้องสร้างเพื่อ "รู้" ฉันมีรหัสผ่าน + เกลือจาก 13 ^ 26 เป็น 8 ^ 26 เพราะฉันรู้ว่าเกลือคืออะไร ตอนนี้ทำให้ง่ายขึ้น …

4
อะไรคือความเสี่ยงในการเรียกใช้ 'sudo pip'
บางครั้งฉันพบความคิดเห็นหรือการตอบสนองที่ระบุอย่างชัดเจนว่าการทำงานpipภายใต้sudoนั้น "ผิด" หรือ "ไม่ดี" แต่มีหลายกรณี (รวมถึงวิธีการตั้งค่าเครื่องมือต่างๆ) ซึ่งง่ายกว่ามากหรือแม้กระทั่งจำเป็น วิ่งไปทางนั้น อะไรคือความเสี่ยงที่เกี่ยวข้องกับการทำงานpipภายใต้sudo? โปรดทราบว่านี่ไม่ใช่คำถามเดียวกับคำถามนี้ซึ่งแม้จะมีชื่อเรื่อง แต่ก็ไม่มีข้อมูลเกี่ยวกับความเสี่ยง นี่ไม่ใช่คำถามเกี่ยวกับวิธีหลีกเลี่ยงการใช้sudoแต่เกี่ยวกับสาเหตุที่เราต้องการโดยเฉพาะ
99 python  security  pip  sudo 

17
มีความแตกต่างระหว่างการพิสูจน์ตัวตนและการอนุญาตหรือไม่?
ฉันเห็นคำศัพท์สองคำนี้ค่อนข้างซับซ้อน (โดยเฉพาะในสถานการณ์บนเว็บ แต่ฉันคิดว่ามันไม่ได้ จำกัด แค่นั้น) และฉันสงสัยว่ามีความแตกต่างหรือไม่ สำหรับฉันดูเหมือนว่าทั้งคู่หมายความว่าคุณได้รับอนุญาตให้ทำในสิ่งที่คุณกำลังทำอยู่ นี่เป็นเพียงการตั้งชื่อหรือมีความหมายที่แตกต่างกัน?
97 security 

2
ตัวแปร $ _SERVER ใดที่ปลอดภัย
ตัวแปรใด ๆ ที่ผู้ใช้สามารถควบคุมได้ผู้โจมตีก็สามารถควบคุมได้เช่นกันดังนั้นจึงเป็นที่มาของการโจมตี สิ่งนี้เรียกว่าตัวแปร "แปดเปื้อน" และไม่ปลอดภัย เมื่อใช้$_SERVERสามารถควบคุมตัวแปรหลายตัวได้ PHP_SELF, HTTP_USER_AGENT, HTTP_X_FORWARDED_FOR, HTTP_ACCEPT_LANGUAGEและอื่น ๆ อีกมากมายเป็นส่วนหนึ่งของส่วนหัวของการร้องขอ HTTP ที่ส่งมาจากลูกค้า มีใครรู้จัก "รายการที่ปลอดภัย" หรือรายการ$_SERVERตัวแปรที่ไม่มีการเคลือบหรือไม่
97 php  security 

5
แนวทางปฏิบัติที่ดีที่สุดในการสร้างโทเค็นแบบสุ่มสำหรับลืมรหัสผ่าน
ฉันต้องการสร้างตัวระบุสำหรับลืมรหัสผ่าน ฉันอ่านว่าฉันสามารถทำได้โดยใช้การประทับเวลากับ mt_rand () แต่บางคนบอกว่าการประทับเวลาอาจไม่ซ้ำกันทุกครั้ง ดังนั้นฉันค่อนข้างสับสนที่นี่ ฉันสามารถใช้การประทับเวลากับสิ่งนี้ได้หรือไม่? คำถาม แนวทางปฏิบัติที่ดีที่สุดในการสร้างโทเค็นแบบสุ่ม / ไม่ซ้ำแบบกำหนดเองคืออะไร? ฉันรู้ว่ามีคำถามมากมายที่ถามอยู่ที่นี่ แต่ฉันเริ่มสับสนมากขึ้นหลังจากอ่านความเห็นที่แตกต่างจากคนอื่น

2
ข้อผิดพลาด SSL: ไม่สามารถรับใบรับรองผู้ออกในพื้นที่
ฉันมีปัญหาในการกำหนดค่า SSL บนเซิร์ฟเวอร์ Debian 6.0 32 บิต ฉันค่อนข้างใหม่กับ SSL ดังนั้นโปรดอดทนกับฉัน ฉันรวมข้อมูลให้มากที่สุดเท่าที่จะทำได้ หมายเหตุ: ชื่อโดเมนที่แท้จริงถูกเปลี่ยนเพื่อปกป้องข้อมูลประจำตัวและความสมบูรณ์ของเซิร์ฟเวอร์ การกำหนดค่า เซิร์ฟเวอร์กำลังทำงานโดยใช้ nginx มีการกำหนดค่าดังนี้: ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt; ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_verify_depth 2; ฉันผูกใบรับรองโดยใช้วิธีการที่อธิบายไว้ที่นี่ cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt mysite.ca.crtใบรับรองที่มอบให้ฉันโดยผู้มีอำนาจลงนามอยู่ที่ไหนและbundle.crtเป็นใบรับรอง CA ที่ส่งถึงฉันโดยผู้มีอำนาจเซ็น ปัญหาคือฉันไม่ได้ซื้อใบรับรอง SSL โดยตรงจาก GlobalSign แต่ผ่านทาง Singlehop ผู้ให้บริการโฮสติ้งแทน การทดสอบ ใบรับรองได้รับการตรวจสอบอย่างถูกต้องบน Safari และ …

3
ข้อมูลลับของไคลเอ็นต์ใน OAuth 2.0
ในการใช้ google drive api ฉันต้องเล่นกับการรับรองความถูกต้องโดยใช้ OAuth2.0 และฉันมีคำถามสองสามข้อเกี่ยวกับเรื่องนี้ รหัสลูกค้าและความลับของไคลเอ็นต์ใช้เพื่อระบุว่าแอปของฉันคืออะไร แต่จะต้องเป็นฮาร์ดโค้ดหากเป็นแอปพลิเคชันไคลเอนต์ ดังนั้นทุกคนสามารถถอดรหัสแอปของฉันและแยกออกจากซอร์สโค้ดได้ หมายความว่าแอปที่ไม่ดีสามารถแอบอ้างว่าเป็นแอปที่ดีโดยใช้รหัสไคลเอ็นต์และรหัสลับของแอปที่ดีได้หรือไม่? ดังนั้นผู้ใช้จะแสดงหน้าจอว่าขออนุญาตแอพที่ดีแม้ว่าจะถูกถามโดยแอพที่ไม่ดีจริง ๆ ? ถ้าใช่ฉันควรทำอย่างไร? หรือจริงๆแล้วฉันไม่ควรกังวลเกี่ยวกับเรื่องนี้? ในแอปพลิเคชันมือถือเราสามารถฝังมุมมองเว็บลงในแอปของเราได้ และง่ายต่อการแยกช่องรหัสผ่านใน webview เนื่องจากแอปที่ขออนุญาตเป็น "เบราว์เซอร์" จริงๆ ดังนั้น OAuth ในแอปพลิเคชันมือถือจึงไม่มีประโยชน์ที่แอปพลิเคชันไคลเอนต์ไม่สามารถเข้าถึงข้อมูลรับรองผู้ใช้ของผู้ให้บริการ?

8
ฉันต้องการจัดเก็บชื่อผู้ใช้และรหัสผ่านอย่างปลอดภัยใน Python มีตัวเลือกอะไรบ้าง? [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิด4 วันที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังเขียนสคริปต์ Python ขนาดเล็กซึ่งจะดึงข้อมูลจากบริการของบุคคลที่สามเป็นระยะโดยใช้คำสั่งผสมชื่อผู้ใช้และรหัสผ่าน ฉันไม่จำเป็นต้องสร้างสิ่งที่กันกระสุนได้ 100% (มีอยู่ 100% หรือไม่) แต่ฉันต้องการมีส่วนร่วมในการรักษาความปลอดภัยที่ดีอย่างน้อยที่สุดก็ต้องใช้เวลานานกว่าที่ใครบางคนจะทำลายมันได้ สคริปต์นี้จะไม่มี GUI และจะถูกเรียกใช้เป็นระยะ ๆcronดังนั้นการป้อนรหัสผ่านทุกครั้งที่เรียกใช้เพื่อถอดรหัสสิ่งต่างๆจะไม่ได้ผลจริง ๆ และฉันจะต้องเก็บชื่อผู้ใช้และรหัสผ่านไว้ในไฟล์ที่เข้ารหัสหรือเข้ารหัส ในฐานข้อมูล SQLite ซึ่งดีกว่าเพราะฉันจะใช้ SQLite อยู่แล้วและฉันอาจต้องแก้ไขรหัสผ่านในบางจุด นอกจากนี้ฉันอาจจะรวมโปรแกรมทั้งหมดไว้ใน EXE เนื่องจากเป็นเฉพาะสำหรับ Windows ในตอนนี้ ฉันจะจัดเก็บคำสั่งผสมชื่อผู้ใช้และรหัสผ่านอย่างปลอดภัยเพื่อใช้ในงานเป็นระยะ ๆ ได้cronอย่างไร?

11
วิธีสร้างรหัสผ่านแฮช laravel
ฉันพยายามสร้างรหัสผ่านที่แฮชสำหรับ Laravel ตอนนี้มีคนบอกให้ฉันใช้ Laravel hash helper แต่ดูเหมือนจะหาไม่เจอหรือกำลังมองไปผิดทาง ฉันจะสร้างรหัสผ่านที่แฮช laravel ได้อย่างไร และที่ไหน? แก้ไข: ฉันรู้ว่ารหัสคืออะไร แต่ฉันไม่รู้ว่าจะใช้ที่ไหนและอย่างไรจึงให้รหัสผ่านที่แฮชกลับคืนมา หากฉันได้รับรหัสผ่านที่แฮชฉันสามารถแทรกลงในฐานข้อมูลด้วยตนเองได้

2
ช่องโหว่ JPEG of Death ทำงานอย่างไร?
ฉันได้อ่านเกี่ยวกับการใช้ประโยชน์จาก GDI + รุ่นเก่าบน Windows XP และWindows Server 2003 ที่เรียกว่า JPEG of death สำหรับโครงการที่ฉันกำลังทำอยู่ การใช้ประโยชน์สามารถอธิบายได้ดีในลิงค์ต่อไปนี้: http://www.infosecwriters.com/text_resources/pdf/JPEG.pdf โดยทั่วไปไฟล์ JPEG จะมีส่วนที่เรียกว่า COM ที่มีฟิลด์ความคิดเห็น (อาจว่างเปล่า) และค่าสองไบต์ที่มีขนาดของ COM หากไม่มีความคิดเห็นขนาดคือ 2 ตัวอ่าน (GDI +) จะอ่านขนาดลบสองและจัดสรรบัฟเฟอร์ที่มีขนาดเหมาะสมเพื่อคัดลอกความคิดเห็นในฮีป การโจมตีเกี่ยวข้องกับการวางมูลค่า0ในสนาม GDI + หัก2นำไปสู่ค่า-2 (0xFFFe)ที่ได้รับการแปลงเป็นจำนวนเต็มไม่ได้ลงนามโดย0XFFFFFFFEmemcpy โค้ดตัวอย่าง: unsigned int size; size = len - 2; char *comment = (char *)malloc(size + …
94 c++  security  memcpy  malware 

3
วิธีอ่านคุกกี้ HttpOnly โดยใช้ JavaScript
มีวิธีใดบ้างในการอ่านคุกกี้ที่ปลอดภัยด้วย JavaScript? ฉันพยายามทำโดยใช้document.cookieและเท่าที่ฉันเห็นในบทความนี้เกี่ยวกับคุกกี้ที่ปลอดภัยและการตั้งค่าสถานะ HttpOnlyฉันไม่สามารถเข้าถึงคุกกี้ที่ปลอดภัยด้วยวิธีนี้ ใครสามารถแนะนำวิธีแก้ปัญหา?


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.