ಸರ್ವರ್ ಅನ್ನು ನಾಶಪಡಿಸುವ ಹ್ಯಾಕರ್ ಆಟದ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಹೇಗೆ ರಚಿಸಲಾಗಿದೆ

ಸರ್ವರ್ ಅನ್ನು ನಾಶಪಡಿಸುವ ಹ್ಯಾಕರ್ ಆಟದ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಹೇಗೆ ರಚಿಸಲಾಗಿದೆ
ಸರ್ವರ್ ನಾಶದೊಂದಿಗೆ ನಮ್ಮ ಲೇಸರ್ ಅನ್ವೇಷಣೆಯನ್ನು ಹೇಗೆ ವ್ಯವಸ್ಥೆಗೊಳಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ನಿಮಗೆ ಹೇಳುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತೇವೆ. ಹಿಂದಿನದರಲ್ಲಿ ಪ್ರಾರಂಭಿಸಿ ಅನ್ವೇಷಣೆಯನ್ನು ಪರಿಹರಿಸುವ ಬಗ್ಗೆ ಲೇಖನ.

ಒಟ್ಟಾರೆಯಾಗಿ, ಆಟದ ಬ್ಯಾಕೆಂಡ್ 6 ವಾಸ್ತುಶಿಲ್ಪದ ಘಟಕಗಳನ್ನು ಹೊಂದಿತ್ತು, ಅದನ್ನು ನಾವು ಈ ಲೇಖನದಲ್ಲಿ ವಿಶ್ಲೇಷಿಸುತ್ತೇವೆ:

  1. ಆಟದ ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ಜವಾಬ್ದಾರರಾಗಿರುವ ಆಟದ ಘಟಕಗಳ ಬ್ಯಾಕೆಂಡ್
  2. VPS ನಲ್ಲಿ ಬ್ಯಾಕೆಂಡ್ ಮತ್ತು ಸೈಟ್ ಡೇಟಾ ವಿನಿಮಯ ಬಸ್
  3. ಬ್ಯಾಕೆಂಡ್ ವಿನಂತಿಗಳಿಂದ (ಆಟದ ಅಂಶಗಳು) Arduino ಗೆ ಅನುವಾದಕ ಮತ್ತು ಸೈಟ್‌ನಲ್ಲಿನ ಹಾರ್ಡ್‌ವೇರ್
  4. ರಿಲೇಗಳನ್ನು ನಿಯಂತ್ರಿಸುವ ಜವಾಬ್ದಾರಿಯನ್ನು ಹೊಂದಿದ್ದ Arduino, ಅನುವಾದಕರಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಪಡೆದರು ಮತ್ತು ನಿಜವಾದ ಕೆಲಸವನ್ನು ಮಾಡಿದರು
  5. ನಿಜವಾದ ಸಾಧನಗಳು: ಫ್ಯಾನ್, ಹೂಮಾಲೆಗಳು, ನೆಲದ ದೀಪಗಳು, ಇತ್ಯಾದಿ.
  6. ಮುಂಭಾಗ - ಫಾಲ್ಕನ್ ವೆಬ್‌ಸೈಟ್ ಸ್ವತಃ, ಇದರಿಂದ ಆಟಗಾರರು ಸಾಧನಗಳನ್ನು ನಿಯಂತ್ರಿಸುತ್ತಾರೆ

ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದರ ಮೂಲಕ ಹೋಗೋಣ.

ಆಟದ ಘಟಕಗಳ ಬ್ಯಾಕೆಂಡ್

ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಸ್ಪ್ರಿಂಗ್ ಬೂಟ್ ಅಪ್ಲಿಕೇಶನ್‌ನಂತೆ ಅಳವಡಿಸಲಾಗಿದೆ: ಇದು ಹಲವಾರು ರೆಸ್ಟ್ ಕಂಟ್ರೋಲರ್‌ಗಳು, ವೆಬ್‌ಸಾಕೆಟ್ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಮತ್ತು ಗೇಮ್ ಲಾಜಿಕ್‌ನೊಂದಿಗೆ ಸೇವೆಗಳನ್ನು ಹೊಂದಿತ್ತು.

ಕೇವಲ ಮೂರು ನಿಯಂತ್ರಕಗಳು ಇದ್ದವು:

  • ಮೆಗಾಟ್ರಾನ್. ಪ್ರಸ್ತುತ ಮೆಗಾಟ್ರಾನ್ ಪುಟವನ್ನು GET ವಿನಂತಿಗಳ ಮೂಲಕ ಕಳುಹಿಸಲಾಗಿದೆ: ಪವರ್ ಆನ್ ಮಾಡುವ ಮೊದಲು ಮತ್ತು ನಂತರ. POST ವಿನಂತಿಯ ಮೂಲಕ ಲೇಸರ್ ಅನ್ನು ಹಾರಿಸಲಾಗಿದೆ.
  • ಟಿಲ್ಡ್ ಪುಟಗಳನ್ನು ಮ್ಯಾಪಿಂಗ್ ಮಾಡುವುದರಿಂದ ಅವುಗಳನ್ನು ಪುಟದ ಹೆಸರಿನ ಮೂಲಕ ನೀಡಲಾಗುತ್ತದೆ. Tilde ಮೂಲ ಹೆಸರುಗಳೊಂದಿಗೆ ರಫ್ತು ಮಾಡಲು ಪುಟಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಆದರೆ ಆಂತರಿಕ ID ಮತ್ತು ಅನುಸರಣೆ ಮಾಹಿತಿಯೊಂದಿಗೆ.
  • ಹುಸಿ-ಹೈ-ಲೋಡ್ ಸರ್ವರ್ ಕ್ಯಾಪ್ಚಾವನ್ನು ಪೂರೈಸಲು ಕ್ಯಾಪ್ಚಾ ನಿಯಂತ್ರಕ.

ಗ್ಯಾಜೆಟ್‌ಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ವೆಬ್‌ಸಾಕೆಟ್ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಬಳಸಲಾಯಿತು: ದೀಪಗಳು, ಹಾರ ಮತ್ತು ಅಕ್ಷರಗಳು. ಸಾಧನದ ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ಎಲ್ಲಾ ಆಟಗಾರರಿಗೆ ಪ್ರದರ್ಶಿಸಲು ಇದನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ: ಅದು ಆನ್ ಅಥವಾ ಆಫ್ ಆಗಿರಲಿ, ಸಕ್ರಿಯವಾಗಿರಲಿ ಅಥವಾ ಇಲ್ಲದಿರಲಿ, ಪ್ರಸ್ತುತ ಗೋಡೆಯ ಮೇಲೆ ಯಾವ ಅಕ್ಷರದ ಬಣ್ಣವನ್ನು ಬೆಳಗಿಸಲಾಗುತ್ತದೆ. ಲೇಸರ್ ಅನ್ನು ಆನ್ ಮಾಡುವ ಕಾರ್ಯವನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿಸುವ ಸಲುವಾಗಿ, ನಾವು ಅದೇ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ನಿರ್ವಾಹಕ/ನಿರ್ವಾಹಕರೊಂದಿಗೆ ಹಾರ ಮತ್ತು ಲೇಸರ್‌ಗೆ ದೃಢೀಕರಣವನ್ನು ಸೇರಿಸಿದ್ದೇವೆ.

ಆಟಗಾರರು ಹಾರವನ್ನು ಆನ್ ಮಾಡುವ ಮೂಲಕ ಅದನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು ಮತ್ತು ಲೇಸರ್‌ನೊಂದಿಗೆ ಅದೇ ರೀತಿ ಪುನರಾವರ್ತಿಸಬಹುದು.

ಅನಗತ್ಯ ಆಯ್ಕೆಯೊಂದಿಗೆ ಆಟಗಾರರನ್ನು ಹಿಂಸಿಸದಿರಲು ನಾವು ಅಂತಹ ಕ್ಷುಲ್ಲಕ ಲಾಗಿನ್-ಪಾಸ್‌ವರ್ಡ್ ಜೋಡಿಯನ್ನು ಆರಿಸಿದ್ದೇವೆ.

ಕಾರ್ಯವನ್ನು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಆಸಕ್ತಿಕರಗೊಳಿಸಲು, mongodb ನಿಂದ ಆಬ್ಜೆಕ್ಟ್ ಐಡಿಗಳನ್ನು ಕೋಣೆಯಲ್ಲಿ ಸಾಧನ ಗುರುತಿಸುವಿಕೆಗಳಾಗಿ ಬಳಸಲಾಗಿದೆ.

ObjectId ಒಂದು ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ: ಎರಡು ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳು, ಅವುಗಳಲ್ಲಿ ಒಂದನ್ನು ಸಾಧನ ಗುರುತಿಸುವಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ ಮತ್ತು ಎರಡನೆಯದು ಅದನ್ನು ಉತ್ಪಾದಿಸುವ ಪ್ರಕ್ರಿಯೆಯ ಪಿಡ್ ಮತ್ತು ಕೌಂಟರ್ ಮೌಲ್ಯವನ್ನು ಆಧರಿಸಿದೆ. ನಿಯಮಿತ ಮಧ್ಯಂತರಗಳಲ್ಲಿ ಮತ್ತು ವಿಭಿನ್ನ ಪಿಡ್ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ರಚಿಸಲು ನಾನು ಬಯಸುತ್ತೇನೆ, ಆದರೆ ಸಾಮಾನ್ಯ ಕೌಂಟರ್‌ನೊಂದಿಗೆ, ಲೇಸರ್ ಸಾಧನ ಗುರುತಿಸುವಿಕೆಯ ಆಯ್ಕೆಯು ಹೆಚ್ಚು ಆಸಕ್ತಿಕರವಾಗಿರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಕೊನೆಯಲ್ಲಿ, ಪ್ರತಿಯೊಬ್ಬರೂ ಕೌಂಟರ್ ಮೌಲ್ಯದಲ್ಲಿ ಮಾತ್ರ ಭಿನ್ನವಾಗಿರುವ ಗುರುತಿಸುವಿಕೆಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿದರು. ಇದು ಹಂತವನ್ನು ತುಂಬಾ ಸರಳಗೊಳಿಸಿರಬಹುದು ಮತ್ತು objectId ರಚನೆಯ ವಿಶ್ಲೇಷಣೆಯ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ.

ಬ್ಯಾಕೆಂಡ್ ವಿನಂತಿಗಳಿಂದ ಅನುವಾದಕ

ಪೈಥಾನ್ ಸ್ಕ್ರಿಪ್ಟ್, ಅವರು ಟೈಮರ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಿದರು ಮತ್ತು ಅವುಗಳನ್ನು ಗೇಮಿಂಗ್ ಅಮೂರ್ತತೆಯಿಂದ ಭೌತಿಕ ಮಾದರಿಗೆ ಅನುವಾದಿಸಿದರು. ಉದಾಹರಣೆಗೆ, "ನೆಲದ ದೀಪವನ್ನು ಆನ್ ಮಾಡಿ" → "ರಿಲೇ N2 ಅನ್ನು ಆನ್ ಮಾಡಿ."

ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು RabbitMQ ಕ್ಯೂಗೆ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ ಮತ್ತು ಸರದಿಯಿಂದ Arduino ಗೆ ವಿನಂತಿಗಳನ್ನು ವರ್ಗಾಯಿಸಲಾಗಿದೆ. ಇದು ಸಮಾನಾಂತರ ಬೆಳಕಿನ ಸ್ವಿಚಿಂಗ್‌ನ ತರ್ಕವನ್ನು ಸಹ ಕಾರ್ಯಗತಗೊಳಿಸಿತು: ಕೆಲವು ಸಾಧನಗಳೊಂದಿಗೆ, ಅವುಗಳ ಮೇಲೆ ಬೆಳಕನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ಮೆಗಾಟ್ರಾನ್‌ಗೆ ಆರಂಭದಲ್ಲಿ ವಿದ್ಯುತ್ ಸರಬರಾಜು ಮಾಡಿದಾಗ, ಅದನ್ನು ಸ್ಟೇಜ್ ಲೈಟ್‌ನಿಂದ ಬೆಳಗಿಸಲಾಯಿತು. ಇಡೀ ದೃಶ್ಯದ ಛಾಯಾಗ್ರಹಣಕ್ಕಾಗಿ ಬೆಳಕಿನ ವಿನ್ಯಾಸವು ನಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಸಹ-ನಿರ್ಮಾಪಕ ಮತ್ತು ಪ್ರೊಡಕ್ಷನ್ ಡಿಸೈನರ್ ಇಲ್ಯಾ ಸೆರೋವ್ ಅವರ ಉತ್ತಮ ಕೆಲಸದ ಬಗ್ಗೆ ಪ್ರತ್ಯೇಕ ಕಥೆಯಾಗಿದೆ ಮತ್ತು ನಾವು ಅದರ ಬಗ್ಗೆ ಪ್ರತ್ಯೇಕ ಪೋಸ್ಟ್ನಲ್ಲಿ ಹೇಳುತ್ತೇವೆ.

ಟೈಮರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಛೇದಕವನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮತ್ತು ಟಿವಿಗೆ ಚಿತ್ರವನ್ನು ರವಾನಿಸುವ ತರ್ಕಕ್ಕೆ ಅನುವಾದಕನು ಜವಾಬ್ದಾರನಾಗಿದ್ದನು: ಛೇದಕವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಟೈಮರ್, ಕಿರುಚುವ ಕ್ಯಾಪಿಬರಾ, ಆಟದ ಕೊನೆಯಲ್ಲಿ ವಾಣಿಜ್ಯ.

ಮೆಗಾಟ್ರಾನ್ ಟೋಕನ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ತರ್ಕವನ್ನು ಹೇಗೆ ರಚಿಸಲಾಗಿದೆ

ಟೆಸ್ಟ್ ಶಾಟ್

ಪ್ರತಿ 25 ಸೆಕೆಂಡ್‌ಗಳಿಗೆ ಹೊಸ ಟೋಕನ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು 10/10 ಪವರ್‌ನಲ್ಲಿ 255 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಲೇಸರ್ ಅನ್ನು ಆನ್ ಮಾಡಲು ಬಳಸಬಹುದು. ಗೆ ಲಿಂಕ್ ಮಾಡಿ ಮೆಗಾಟ್ರಾನ್ ಕೋಡ್‌ನೊಂದಿಗೆ ಗಿಥಬ್.

ಲೇಸರ್ ನಂತರ 1 ನಿಮಿಷ ತಂಪಾಗುತ್ತದೆ - ಈ ಸಮಯದಲ್ಲಿ ಅದು ಲಭ್ಯವಿಲ್ಲ ಮತ್ತು ಹೊಸ ಶಾಟ್ ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸಲಿಲ್ಲ.

ಈ ಶಕ್ತಿಯು ಹಗ್ಗದ ಮೂಲಕ ಸುಡಲು ಸಾಕಾಗಲಿಲ್ಲ, ಆದರೆ ಯಾವುದೇ ಆಟಗಾರನು ಮೆಗಾಟ್ರಾನ್ ಅನ್ನು ಹಾರಿಸಬಹುದು ಮತ್ತು ಲೇಸರ್ ಕಿರಣವನ್ನು ಕ್ರಿಯೆಯಲ್ಲಿ ನೋಡಬಹುದು.

ಟೋಕನ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು MD5 ಹ್ಯಾಶಿಂಗ್ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಬಳಸಲಾಗಿದೆ. ಮತ್ತು ಯೋಜನೆಯು ಕಾರ್ಯರೂಪಕ್ಕೆ ಬಂದಿತು MD5 + ಕೌಂಟರ್ + ರಹಸ್ಯದಿಂದ MD5 ಯುದ್ಧ ಟೋಕನ್‌ಗಾಗಿ ಮತ್ತು ಪರೀಕ್ಷಾ ಟೋಕನ್‌ಗಾಗಿ ರಹಸ್ಯವಿಲ್ಲದೆ.

MD5 ಎಂಬುದು ನಮ್ಮ ಬೆಂಬಲಿಗರಾದ ಪಾವೆಲ್ ಮಾಡಿದ ವಾಣಿಜ್ಯ ಯೋಜನೆಗೆ ಉಲ್ಲೇಖವಾಗಿದೆ. ಕೇವಲ ಒಂದೆರಡು ವರ್ಷಗಳ ಹಿಂದೆ ಈ ಯೋಜನೆಯು MD5 ಅನ್ನು ಬಳಸಿತು ಮತ್ತು ಇದು ಹಳೆಯ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅಲ್ಗಾರಿದಮ್ ಎಂದು ಅವರು ಪ್ರಾಜೆಕ್ಟ್ ಆರ್ಕಿಟೆಕ್ಟ್‌ಗೆ ಹೇಳಿದಾಗ, ಅವರು MD5 ನಿಂದ MD5 ಅನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದರು. ನಾವು ಅತ್ಯಂತ ನೂಬ್ ಯೋಜನೆಯನ್ನು ಸಾಧ್ಯವಾಗಿಸಲು ನಿರ್ಧರಿಸಿದ್ದರಿಂದ, ಅವರು ಎಲ್ಲವನ್ನೂ ನೆನಪಿಸಿಕೊಂಡರು ಮತ್ತು ಸಣ್ಣ ಉಲ್ಲೇಖವನ್ನು ಮಾಡಲು ನಿರ್ಧರಿಸಿದರು.

ಯುದ್ಧ ಶಾಟ್

ಮೆಗಾಟ್ರಾನ್‌ನ ಯುದ್ಧ ಮೋಡ್ 100 ವ್ಯಾಟ್‌ಗಳಲ್ಲಿ 3% ಲೇಸರ್ ಪವರ್ ಆಗಿದೆ. ತೂಕವನ್ನು ಹಿಡಿದಿರುವ ಹಗ್ಗದ ಮೂಲಕ ಸುಡಲು, ಅಕ್ವೇರಿಯಂ ಅನ್ನು ಮುರಿಯಲು ಮತ್ತು ಸರ್ವರ್ ಅನ್ನು ನೀರಿನಿಂದ ತುಂಬಿಸಲು ಇದು 2 ನಿಮಿಷಗಳ ಕಾಲ ಸಾಕು.

ಪ್ರಾಜೆಕ್ಟ್‌ನ ಗಿಥಬ್‌ನಲ್ಲಿ ನಾವು ಕೆಲವು ಸುಳಿವುಗಳನ್ನು ಬಿಟ್ಟಿದ್ದೇವೆ: ಅವುಗಳೆಂದರೆ, ಟೋಕನ್ ಜನರೇಷನ್ ಕೋಡ್, ಇದರಿಂದ ಪರೀಕ್ಷೆ ಮತ್ತು ಯುದ್ಧ ಟೋಕನ್‌ಗಳನ್ನು ಒಂದೇ ಕೌಂಟರ್ ಸೂಚಕವನ್ನು ಆಧರಿಸಿ ರಚಿಸಲಾಗಿದೆ ಎಂದು ಒಬ್ಬರು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು. ಯುದ್ಧ ಟೋಕನ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ಕೌಂಟರ್ ಮೌಲ್ಯದ ಜೊತೆಗೆ, ಉಪ್ಪನ್ನು ಸಹ ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಕೊನೆಯ ಎರಡು ಅಕ್ಷರಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಈ ಸಾರಾಂಶವನ್ನು ಬದಲಾಯಿಸುವ ಇತಿಹಾಸದಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಉಳಿದಿದೆ.

ಈ ಡೇಟಾವನ್ನು ತಿಳಿದುಕೊಂಡು, ಉಪ್ಪಿನ ಕೊನೆಯ 2 ಚಿಹ್ನೆಗಳ ಮೂಲಕ ವಿಂಗಡಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಲಾಸ್ಟ್‌ನಿಂದ ಹೆಕ್ಸಾಡೆಸಿಮಲ್ ಸಿಸ್ಟಮ್‌ಗೆ ಪರಿವರ್ತಿಸಲಾದ ಸಂಖ್ಯೆಗಳನ್ನು ಬಳಸಲಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿಯಬಹುದು.

ನಂತರ ಆಟಗಾರರು ಕೌಂಟರ್ ಮೌಲ್ಯವನ್ನು ಹಿಡಿಯಬೇಕು (ಪರೀಕ್ಷಾ ಟೋಕನ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಮೂಲಕ) ಮತ್ತು ಮುಂದಿನ ಕೌಂಟರ್ ಮೌಲ್ಯ ಮತ್ತು ಹಿಂದಿನ ಹಂತದಲ್ಲಿ ಆಯ್ಕೆ ಮಾಡಿದ ಉಪ್ಪನ್ನು ಬಳಸಿಕೊಂಡು ಯುದ್ಧ ಟೋಕನ್ ಅನ್ನು ರಚಿಸಬೇಕು.

ಪ್ರತಿ ಟೆಸ್ಟ್ ಶಾಟ್ ಮತ್ತು ಪ್ರತಿ 25 ಸೆಕೆಂಡ್‌ಗಳೊಂದಿಗೆ ಕೌಂಟರ್ ಅನ್ನು ಸರಳವಾಗಿ ಹೆಚ್ಚಿಸಲಾಗುತ್ತದೆ. ನಾವು ಈ ಬಗ್ಗೆ ಎಲ್ಲಿಯೂ ಬರೆದಿಲ್ಲ, ಇದು ಒಂದು ಸಣ್ಣ ಆಟದ ಆಶ್ಚರ್ಯವಾಗಬೇಕಿತ್ತು.

ಕ್ಯಾಪ್ಚಾ ಸಂವಹನ ಸೇವೆ

ಗೇಮಿಂಗ್ ಜಗತ್ತಿನಲ್ಲಿ, ಫ್ಯಾನ್ ಅನ್ನು ಆನ್ ಮಾಡಲು ಮತ್ತು ಸುಳಿವಿನೊಂದಿಗೆ ಫ್ಲಿಪ್‌ಚಾರ್ಟ್ ತೆರೆಯಲು ಅದೇ ಕ್ಯಾಪ್ಚಾವನ್ನು ಲೋಡ್ ಮಾಡಬೇಕಾಗಿತ್ತು. ಕ್ಯಾಮೆರಾದ ಪಕ್ಕದಲ್ಲಿ ಲೋಡ್ ಮಾನಿಟರಿಂಗ್ ಹೊಂದಿರುವ ಲ್ಯಾಪ್‌ಟಾಪ್ ಇತ್ತು.

ಸರ್ವರ್ ಅನ್ನು ನಾಶಪಡಿಸುವ ಹ್ಯಾಕರ್ ಆಟದ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಹೇಗೆ ರಚಿಸಲಾಗಿದೆ

ಸೇವೆ ಪ್ರಸ್ತುತ ಲೋಡ್‌ನಂತೆ ಮಾನಿಟರಿಂಗ್‌ನಲ್ಲಿ ಏನನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕೆಂದು ನಾನು ಲೆಕ್ಕ ಹಾಕಿದ್ದೇನೆ: ತಾಪಮಾನ ಮತ್ತು CPU ಫ್ಯಾನ್. ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಟೈಮ್‌ಬೇಸ್ ಡೇಟಾಬೇಸ್‌ಗೆ ವರ್ಗಾಯಿಸಲಾಗಿದೆ ಮತ್ತು ಗ್ರಾಫನಾದಿಂದ ಚಿತ್ರಿಸಲಾಗಿದೆ.

ಕಳೆದ 5 ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಕ್ಯಾಪ್ಚಾವನ್ನು ಪ್ರದರ್ಶಿಸಲು 50 ಕ್ಕೂ ಹೆಚ್ಚು ವಿನಂತಿಗಳು ಇದ್ದಲ್ಲಿ, ನಂತರ ಲೋಡ್ ಸ್ಥಿರ + ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಯ ಹಂತಗಳಿಂದ ಹೆಚ್ಚಾಯಿತು. ಎರಡು ನಿಮಿಷಗಳಲ್ಲಿ 100% ಲೋಡ್ ಅನ್ನು ಸಾಧಿಸಬಹುದು ಎಂದು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲಾಗಿತ್ತು.

ವಾಸ್ತವವಾಗಿ, ಅಂತಿಮ ಆಟದಲ್ಲಿ ಪ್ರದರ್ಶಿಸಿದ್ದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ತರ್ಕವು ಸೇವೆಯಲ್ಲಿತ್ತು: CPU ಫ್ಯಾನ್‌ನ ತಿರುಗುವಿಕೆ ಮಾತ್ರ ಗೋಚರಿಸುವ ರೀತಿಯಲ್ಲಿ ನಾವು ಮಾನಿಟರ್ ಅನ್ನು ಇರಿಸಿದ್ದೇವೆ.

ಅನ್ವೇಷಣೆಯ ಆರಂಭದಲ್ಲಿ ಅವರು ಫಾಲ್ಕನ್ ವೆಬ್‌ಸೈಟ್‌ನಿಂದ ಗ್ರಾಫನ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಬಿಡಲು ಬಯಸಿದ್ದರು. ಆದರೆ ಇದು ಬ್ಯಾಕೆಂಡ್ ಅಪ್ಲಿಕೇಶನ್ ವರದಿಯಿಂದ ಸ್ಪ್ರಿಂಗ್‌ಬೂಟ್ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ, ಅದನ್ನು ತೆರವುಗೊಳಿಸಲು ನಮಗೆ ಸಮಯವಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾವು ಅದಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ. ಮತ್ತು ಸರಿಯಾಗಿ - ಅನ್ವೇಷಣೆಯ ಪ್ರಾರಂಭದಲ್ಲಿಯೂ ಸಹ, ಕೆಲವು ಆಟಗಾರರು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ಪ್ರಿಂಗ್‌ಬೂಟ್ ಚೌಕಟ್ಟಿನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ ಎಂದು ಊಹಿಸಿದರು ಮತ್ತು ಕೆಲವು ಸೇವೆಗಳ ಹೆಸರುಗಳನ್ನು ಸಹ ಅಗೆದು ಹಾಕಿದರು.

ಹೋಸ್ಟಿಂಗ್ ಮತ್ತು ಡೇಟಾ ಬಸ್

ಬ್ಯಾಕೆಂಡ್‌ನಿಂದ ಸೈಟ್‌ಗೆ ಮಾಹಿತಿಯನ್ನು ವರ್ಗಾಯಿಸುವ ಸಾಧನ, RabbitMQ ಚಾಲನೆಯಲ್ಲಿರುವ VPS ಸರ್ವರ್.

ಬ್ಯಾಕೆಂಡ್ ಮತ್ತು ಡೇಟಾ ಬಸ್ ಅನ್ನು ಇರಿಸಲಾಗಿದೆ ನಮ್ಮ VPS. ಇದರ ಶಕ್ತಿಯನ್ನು ನೀವು ಪರದೆಯ ಮೇಲೆ ನೋಡಿದ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಹೋಲಿಸಬಹುದು: ಎರಡು ಗಿಗಾಬೈಟ್‌ಗಳ RAM ಹೊಂದಿರುವ 2-ಕೋರ್ VPS. ಸಂಪನ್ಮೂಲಗಳಿಗಾಗಿ ಸುಂಕವನ್ನು ವಿಧಿಸಲಾಗಿದೆ, ಏಕೆಂದರೆ ಗರಿಷ್ಠ ಲೋಡ್ ಅನ್ನು ಕೆಲವೇ ದಿನಗಳವರೆಗೆ ಯೋಜಿಸಲಾಗಿದೆ - ಅಲ್ಪಾವಧಿಗೆ VPS ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಯೋಜಿಸುವ ನಮ್ಮ ಗ್ರಾಹಕರು ಇದನ್ನೇ ಮಾಡುತ್ತಾರೆ. ನಂತರ ನಾವು ನಿರೀಕ್ಷಿಸಿದ್ದಕ್ಕಿಂತ ಲೋಡ್ ಹೆಚ್ಚಾಗಿದೆ ಮತ್ತು ಸ್ಥಿರ ಸುಂಕವು ಹೆಚ್ಚು ಲಾಭದಾಯಕವಾಗಿದೆ ಎಂದು ತಿಳಿದುಬಂದಿದೆ. ನೀವು ಅನ್ವೇಷಣೆಯನ್ನು ಮಾಡಿದರೆ, ಲೈನ್ ಸುಂಕಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ ಟರ್ಬೊ.

DDoSa ನಿಂದ ಸರ್ವರ್ ಅನ್ನು ರಕ್ಷಿಸಲು, ನಾವು Cloudflare ಅನ್ನು ಬಳಸಿದ್ದೇವೆ.

ವಿಪಿಎಸ್ ಎಲ್ಲವನ್ನೂ ಗೌರವದಿಂದ ತಡೆದುಕೊಂಡಿದೆ ಎಂದು ಹೇಳುವುದು ಯೋಗ್ಯವಾಗಿದೆ.

ರಿಲೇಗಳನ್ನು ನಿಯಂತ್ರಿಸುವ ಜವಾಬ್ದಾರಿಯನ್ನು ಹೊಂದಿದ್ದ Arduino, ಅನುವಾದಕರಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಪಡೆದರು ಮತ್ತು ನಿಜವಾದ ಕೆಲಸವನ್ನು ಮಾಡಿದರು

ಇದು ಯೋಜನೆಯ ಹಾರ್ಡ್‌ವೇರ್ ಭಾಗದ ಕುರಿತು ಮುಂದಿನ ಲೇಖನದ ವಿಷಯವಾಗಿದೆ: ನಿರ್ದಿಷ್ಟ ರಿಲೇ ಅನ್ನು ಆನ್ ಮಾಡಲು ಬ್ಯಾಕೆಂಡ್ ಸರಳವಾಗಿ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಿದೆ. ಬ್ಯಾಕೆಂಡ್ ಬಹುತೇಕ ಎಲ್ಲಾ ಘಟಕಗಳನ್ನು ತಿಳಿದಿತ್ತು ಮತ್ತು ಅದರಿಂದ ವಿನಂತಿಗಳು "ಈ ಘಟಕವನ್ನು ಆನ್ ಮಾಡಿ" ಎಂದು ತೋರುತ್ತಿದೆ. ಸೈಟ್‌ನ ಆರಂಭಿಕ ಪರೀಕ್ಷೆಗಾಗಿ ನಾವು ಇದನ್ನು ಮಾಡಿದ್ದೇವೆ (ನಾವು ಇನ್ನೂ ಎಲ್ಲಾ ಆರ್ಡುನೊ ಮತ್ತು ರಿಲೇಗಳನ್ನು ಜೋಡಿಸಿಲ್ಲ), ಕೊನೆಯಲ್ಲಿ ನಾವು ಎಲ್ಲವನ್ನೂ ಹಾಗೆ ಬಿಟ್ಟಿದ್ದೇವೆ.

ಮುಂಭಾಗ

ನಾವು ತ್ವರಿತವಾಗಿ ಟಿಲ್ಡ್ನಲ್ಲಿ ಸೈಟ್ ಅನ್ನು ರಚಿಸಿದ್ದೇವೆ, ಇದು ಒಂದು ಕೆಲಸದ ದಿನವನ್ನು ತೆಗೆದುಕೊಂಡಿತು ಮತ್ತು ನಮ್ಮ ಬಜೆಟ್ನಲ್ಲಿ 30 ಸಾವಿರವನ್ನು ಉಳಿಸಿದೆ.

ಆರಂಭದಲ್ಲಿ, ನಾವು ಸೈಟ್ ಅನ್ನು ಸರಳವಾಗಿ ರಫ್ತು ಮಾಡಲು ಮತ್ತು ನಾವು ಕಾಣೆಯಾಗಿರುವ ತರ್ಕವನ್ನು ಸೇರಿಸಲು ಯೋಚಿಸಿದ್ದೇವೆ, ಆದರೆ ನಾವು ಇದನ್ನು ಮಾಡುವುದನ್ನು ನಿಷೇಧಿಸುವ ಬಳಕೆಯ ನಿಯಮಗಳಿಗೆ ಓಡಿದ್ದೇವೆ.

ನಾವು ಪರವಾನಗಿಯನ್ನು ಉಲ್ಲಂಘಿಸಲು ಸಿದ್ಧರಿಲ್ಲ, ಆದ್ದರಿಂದ ಎರಡು ಆಯ್ಕೆಗಳಿವೆ: ಎಲ್ಲವನ್ನೂ ನಾವೇ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅಥವಾ ನೇರವಾಗಿ ಟಿಲ್ಡಾವನ್ನು ಸಂಪರ್ಕಿಸಲು, ಯೋಜನೆಯ ಬಗ್ಗೆ ಮಾತನಾಡಿ ಮತ್ತು ಕೋಡ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಅನುಮತಿ ಕೇಳಿ.

ನಾವು ಎರಡನೇ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿದ್ದೇವೆ ಮತ್ತು ಅವರು ನಮ್ಮನ್ನು ಅರ್ಧದಾರಿಯಲ್ಲೇ ಭೇಟಿಯಾಗಲಿಲ್ಲ, ಆದರೆ ನಮಗೆ ಒಂದು ವರ್ಷದ ಉಚಿತ ವ್ಯಾಪಾರ ಖಾತೆಯನ್ನು ಸಹ ನೀಡಿದರು, ಇದಕ್ಕಾಗಿ ನಾವು ಅವರಿಗೆ ತುಂಬಾ ಕೃತಜ್ಞರಾಗಿರುತ್ತೇವೆ. ಅವರಿಗೆ ಸೊಕೊಲ್‌ನ ವೆಬ್‌ಸೈಟ್ ವಿನ್ಯಾಸವನ್ನು ತೋರಿಸುವುದು ತುಂಬಾ ವಿಚಿತ್ರವಾಗಿತ್ತು.

ಪರಿಣಾಮವಾಗಿ, ನಾವು ಪ್ರಾಥಮಿಕ ಸಾಧನಗಳಿಗೆ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲು ಮುಂಭಾಗಕ್ಕೆ js ತರ್ಕವನ್ನು ಲಗತ್ತಿಸಿದ್ದೇವೆ ಮತ್ತು ಆಟದ ಅಂಶಗಳನ್ನು ಆನ್ ಮತ್ತು ಆಫ್ ಮಾಡಲು ಬಟನ್‌ಗಳ ಶೈಲಿಗಳನ್ನು ಸ್ವಲ್ಪ ಬದಲಾಯಿಸಿದ್ದೇವೆ.

ವೆಬ್‌ಸೈಟ್ ವಿನ್ಯಾಸ

ಹುಡುಕಾಟಗಳ ಇತಿಹಾಸ, ಇದು ಪ್ರತ್ಯೇಕ ಅಧ್ಯಾಯಕ್ಕೆ ಯೋಗ್ಯವಾಗಿದೆ.

ನಾವು ಕೇವಲ ಹಳೆಯ-ಶೈಲಿಯ ಸೈಟ್ ಅನ್ನು ರಚಿಸಲು ಬಯಸುತ್ತೇವೆ, ಆದರೆ ವಿನ್ಯಾಸದ ಎಲ್ಲಾ ಮೂಲಭೂತ ನಿಯಮಗಳನ್ನು ಉಲ್ಲಂಘಿಸುವ ಸಂಪೂರ್ಣವಾಗಿ ಅಸಹ್ಯಕರವಾದ ಸೈಟ್ ಅನ್ನು ರಚಿಸಲು ಬಯಸುತ್ತೇವೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವುದು ಮುಖ್ಯವಾಗಿತ್ತು: ಇದು ಇಎನ್ಟಿ ಕಥೆಯನ್ನು ಮುರಿಯಬಾರದು, ಲೇಖಕರ ಆಡಂಬರವನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕು ಮತ್ತು ಅಂತಹ ಸೈಟ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರಬಹುದು ಮತ್ತು ಗ್ರಾಹಕರನ್ನು ಸಹ ತರಬಹುದು ಎಂದು ಆಟಗಾರರು ನಂಬಬೇಕು. ಮತ್ತು ಅವನು ಅದನ್ನು ತಂದನು! ಆಟ ನಡೆಯುತ್ತಿರುವಾಗ, ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ರಚಿಸಲು ನಮ್ಮನ್ನು ಎರಡು ಬಾರಿ ಸಂಪರ್ಕಿಸಲಾಯಿತು.

ಮೊದಲಿಗೆ ನಾನು ವಿನ್ಯಾಸವನ್ನು ನಾನೇ ಮಾಡಿದ್ದೇನೆ, ಹೆಚ್ಚಿನ gif ಗಳು ಮತ್ತು ಹೊಳೆಯುವ ಅಂಶಗಳನ್ನು ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ. ಆದರೆ 10 ವರ್ಷಗಳ ನನ್ನ ಡಿಸೈನರ್ ಪತಿ ಅವನ ಭುಜದ ಮೇಲೆ ನೋಡಿದರು ಮತ್ತು ಅದನ್ನು "ತುಂಬಾ ಒಳ್ಳೆಯದು" ಎಂದು ತಳ್ಳಿಹಾಕಿದರು. ವಿನ್ಯಾಸ ನಿಯಮಗಳನ್ನು ಮುರಿಯಲು, ನೀವು ಅವುಗಳನ್ನು ತಿಳಿದುಕೊಳ್ಳಬೇಕು.

ಸರ್ವರ್ ಅನ್ನು ನಾಶಪಡಿಸುವ ಹ್ಯಾಕರ್ ಆಟದ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಹೇಗೆ ರಚಿಸಲಾಗಿದೆ

ಅಸಹ್ಯದ ನಿರಂತರ ಭಾವನೆಯನ್ನು ಉಂಟುಮಾಡುವ ಹಲವಾರು ಬಣ್ಣ ಸಂಯೋಜನೆಗಳಿವೆ: ಹಸಿರು ಮತ್ತು ಕೆಂಪು ಸಮಾನ ಶ್ರೀಮಂತಿಕೆ, ಬೂದು ಮತ್ತು ಗುಲಾಬಿ, ನೀಲಿ ಜೊತೆಗೆ ಕಂದು. ಕೊನೆಯಲ್ಲಿ, ನಾವು ಮೂಲ ಬಣ್ಣಗಳಾಗಿ ಕೆಂಪು ಮತ್ತು ಹಸಿರು ಸಂಯೋಜನೆಯಲ್ಲಿ ನೆಲೆಸಿದ್ದೇವೆ, ಬೆಕ್ಕಿನೊಂದಿಗೆ gif ಗಳನ್ನು ಸೇರಿಸಿದ್ದೇವೆ ಮತ್ತು ಸ್ಟಾಕ್ ಫೋಟೋದಿಂದ ಸೊಕೊಲೋವ್ ಅವರ 3-4 ಫೋಟೋಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ್ದೇವೆ. ನನಗೆ ಕೆಲವು ಅವಶ್ಯಕತೆಗಳು ಮಾತ್ರ ಇದ್ದವು: ಒಬ್ಬ ಮಧ್ಯವಯಸ್ಕ ವ್ಯಕ್ತಿ, ಒಂದೆರಡು ಗಾತ್ರದ ತುಂಬಾ ದೊಡ್ಡದಾದ ಮತ್ತು "ವೃತ್ತಿಪರ ಸ್ಟುಡಿಯೋ ಫೋಟೋ ಶೂಟ್" ಭಂಗಿಯಲ್ಲಿ ಅಸ್ಪಷ್ಟವಾದ ಸೂಟ್ ಧರಿಸಿ. ಪರೀಕ್ಷೆಗಾಗಿ, ಅವರು ಅದನ್ನು ಸ್ನೇಹಿತರಿಗೆ ತೋರಿಸಿದರು ಮತ್ತು "ನೀವು ಅದನ್ನು ಹೇಗೆ ಇಷ್ಟಪಡುತ್ತೀರಿ?"

ವಿನ್ಯಾಸ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ, ನನ್ನ ಪತಿ ಪ್ರತಿ ಅರ್ಧಗಂಟೆಗೆ ಮಲಗಬೇಕಾಗಿತ್ತು; ಹೆಲಿಕಾಪ್ಟರ್ ಹಾರಲು ಪ್ರಾರಂಭಿಸಿತು. ಪಾಶಾ ಮುಂಭಾಗವನ್ನು ಮುಗಿಸುವಾಗ ಹೆಚ್ಚಿನ ಪರದೆಯ ಡೆವಲಪರ್ ಕನ್ಸೋಲ್ ಅನ್ನು ತೆರೆಯಲು ಪ್ರಯತ್ನಿಸಿದರು - ಅವರ ಕಣ್ಣುಗಳನ್ನು ರಕ್ಷಿಸಲು.

ನಿಜವಾದ ಸಾಧನಗಳು

ಫ್ಯಾನ್‌ಗಳು ಮತ್ತು ಲೈಟ್‌ಗಳನ್ನು ಘನ-ಸ್ಥಿತಿಯ ರಿಲೇಗಳ ಮೂಲಕ ಜೋಡಿಸಲಾಗಿದೆ ಇದರಿಂದ ಅವು ತಕ್ಷಣವೇ ಪೂರ್ಣ ಶಕ್ತಿಯಲ್ಲಿ ಆನ್ ಆಗುವುದಿಲ್ಲ - ಇದರಿಂದಾಗಿ ಮೇಲ್ವಿಚಾರಣೆಯೊಂದಿಗೆ ಸಮಾನಾಂತರವಾಗಿ ವಿದ್ಯುತ್ ಹೆಚ್ಚಾಗುತ್ತದೆ.

ಆದರೆ ಮುಂದಿನ ಪೋಸ್ಟ್‌ನಲ್ಲಿ ನಾವು ಆಟದ ಹಾರ್ಡ್‌ವೇರ್ ಭಾಗ ಮತ್ತು ಸೈಟ್‌ನ ನಿಜವಾದ ನಿರ್ಮಾಣದ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇವೆ.

ಟ್ಯೂನ್ ಮಾಡಿ!

ಸರ್ವರ್ ಅನ್ನು ನಾಶಮಾಡುವ ಅನ್ವೇಷಣೆಯ ಕುರಿತು ಇತರ ಲೇಖನಗಳು

ಸರ್ವರ್ ಅನ್ನು ನಾಶಪಡಿಸುವ ಹ್ಯಾಕರ್ ಆಟದ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಹೇಗೆ ರಚಿಸಲಾಗಿದೆ

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ