ਕਰਾਸ-ਸਾਈਟ ਸਕ੍ਰਿਪਟਿੰਗ (XSS) ਇੱਕ ਕਮਜ਼ੋਰੀ ਹੈ ਜੋ ਇੱਕ ਹਮਲਾਵਰ ਨੂੰ ਇੱਕ ਵੈੱਬ ਪੇਜ ਵਿੱਚ ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਇੰਜੈਕਟ ਕਰਨ ਦਿੰਦੀ ਹੈ, ਸਕ੍ਰਿਪਟਾਂ ਜੋ ਫਿਰ ਕਿਸੇ ਹੋਰ ਉਪਭੋਗਤਾ ਦੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਇਸ ਤਰ੍ਹਾਂ ਚੱਲਦੀਆਂ ਹਨ ਜਿਵੇਂ ਉਹ ਉੱਥੇ ਹੋਣ। ਇਸਨੂੰ ਲਗਾਤਾਰ ਦਰਜਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ OWASP ਚੋਟੀ ਦੇ 10, ਅਤੇ ਇਹ ਹਮਲਾਵਰਾਂ ਦੁਆਰਾ ਸੈਸ਼ਨ ਡੇਟਾ ਚੋਰੀ ਕਰਨ, ਖਾਤਿਆਂ ਨੂੰ ਹਾਈਜੈਕ ਕਰਨ, ਜਾਂ ਚੁੱਪ-ਚਾਪ ਕਿਸੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਆਪਣੇ ਉਪਭੋਗਤਾਵਾਂ ਨਾਲ ਵਿਸ਼ਵਾਸ ਨੂੰ ਖਰਾਬ ਕਰਨ ਦੇ ਸਭ ਤੋਂ ਆਮ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ।
SAST ਇਹਨਾਂ ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਜਲਦੀ ਫੜਨ ਦੇ ਸਭ ਤੋਂ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਟੂਲ ਹਨ, ਸਹੀ ਪੈਟਰਨਾਂ ਲਈ ਸਰੋਤ ਕੋਡ ਨੂੰ ਸਕੈਨ ਕਰਨਾ ਜੋ XSS ਨੂੰ ਖਿਸਕਣ ਦਿੰਦੇ ਹਨ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਉਹ ਕੋਡ ਉਤਪਾਦਨ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ। ਇਸ ਪੋਸਟ ਵਿੱਚ: XSS ਦੀਆਂ ਤਿੰਨ ਸਭ ਤੋਂ ਆਮ ਕਿਸਮਾਂ, ਉਹ ਅਸਲ ਕੋਡ ਵਿੱਚ ਕਿਹੋ ਜਿਹੇ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਕਿਵੇਂ SAST ਟੂਲ (ਨਾਲ ਹੀ ਕੁਝ ਕੋਡਿੰਗ ਅਭਿਆਸ) ਉਹਨਾਂ ਨੂੰ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਬੰਦ ਕਰ ਦਿੰਦੇ ਹਨ।
XSS ਕਮਜ਼ੋਰੀਆਂ ਕੀ ਹਨ ਅਤੇ ਤੁਹਾਨੂੰ ਇਸਦੀ ਪਰਵਾਹ ਕਿਉਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ?
XSS ਕਮਜ਼ੋਰੀਆਂ ਉਦੋਂ ਵਾਪਰਦੀਆਂ ਹਨ ਜਦੋਂ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਇਨਪੁੱਟ ਲੈਂਦੀ ਹੈ, ਕੁਝ ਅਜਿਹਾ ਜੋ ਉਪਭੋਗਤਾ URL ਵਿੱਚ ਟਾਈਪ ਕਰਦਾ ਹੈ, ਪੇਸਟ ਕਰਦਾ ਹੈ, ਜਾਂ ਪਾਸ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਪਹਿਲਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕੀਤੇ ਜਾਂ ਬਚੇ ਬਿਨਾਂ ਇੱਕ ਪੰਨੇ ਵਿੱਚ ਵਾਪਸ ਰੈਂਡਰ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਅਜਿਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇੱਕ ਹਮਲਾਵਰ ਆਮ ਟੈਕਸਟ ਦੀ ਬਜਾਏ ਇੱਕ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਸਮਗਲ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਕੋਲ ਫਰਕ ਦੱਸਣ ਦਾ ਕੋਈ ਤਰੀਕਾ ਨਹੀਂ ਹੁੰਦਾ: ਇਹ ਇਸਨੂੰ ਸਿਰਫ਼ ਉਸੇ ਭਰੋਸੇ ਅਤੇ ਅਨੁਮਤੀਆਂ ਨਾਲ ਚਲਾਉਂਦਾ ਹੈ ਜਿਵੇਂ ਬਾਕੀ ਪੰਨੇ 'ਤੇ ਹੁੰਦਾ ਹੈ।
ਇਹੀ ਗੱਲ XSS ਨੂੰ ਖ਼ਤਰਨਾਕ ਬਣਾਉਂਦੀ ਹੈ ਭਾਵੇਂ ਕਿ ਅੰਤਰੀਵ ਬੱਗ ਅਕਸਰ ਛੋਟਾ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਸਿੰਗਲ ਅਣਸਵੱਛ ਇਨਪੁੱਟ ਫੀਲਡ ਇੱਕ ਹਮਲਾਵਰ ਨੂੰ ਸੈਸ਼ਨ ਕੂਕੀਜ਼ ਚੋਰੀ ਕਰਨ ਅਤੇ ਇੱਕ ਲੌਗ-ਇਨ ਕੀਤੇ ਖਾਤੇ ਨੂੰ ਹਾਈਜੈਕ ਕਰਨ, ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਚੁੱਪਚਾਪ ਇੱਕ ਫਿਸ਼ਿੰਗ ਪੰਨੇ 'ਤੇ ਰੀਡਾਇਰੈਕਟ ਕਰਨ, ਕੀਸਟ੍ਰੋਕ ਲੌਗ ਕਰਨ, ਜਾਂ ਵਿਜ਼ਟਰ ਦੁਆਰਾ ਦੇਖੀ ਜਾਣ ਵਾਲੀ ਸਮੱਗਰੀ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਣ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦਾ ਹੈ, ਇਹ ਸਭ ਕੁਝ ਤੁਹਾਡੇ ਸਰਵਰਾਂ ਨੂੰ ਸਿੱਧੇ ਛੂਹਣ ਤੋਂ ਬਿਨਾਂ। ਕਮਜ਼ੋਰੀ ਪੂਰੀ ਤਰ੍ਹਾਂ ਇਸ ਗੱਲ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਆਪਣੇ ਆਉਟਪੁੱਟ 'ਤੇ ਕਿਵੇਂ ਭਰੋਸਾ ਕਰਦਾ ਹੈ।
ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ XSS OWASP ਟੌਪ 10 ਵਿੱਚ ਇੰਨੀ ਵਾਰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ: ਇਸ ਲਈ ਇੱਕ ਸੂਝਵਾਨ ਐਕਸਪਲੋਇਟ ਚੇਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ, ਸਿਰਫ਼ ਇੱਕ ਅਣਦੇਖੀ ਇਨਪੁੱਟ ਦੀ ਲੋੜ ਹੈ, ਅਤੇ ਬਲਾਸਟ ਰੇਡੀਅਸ ਪ੍ਰਭਾਵਿਤ ਪੰਨੇ ਨੂੰ ਲੋਡ ਕਰਨ ਵਾਲੇ ਹਰੇਕ ਉਪਭੋਗਤਾ ਤੱਕ ਫੈਲਦਾ ਹੈ।
XSS ਹਮਲੇ ਅਣਜਾਣ: ਤਿੰਨ ਸਭ ਤੋਂ ਆਮ ਕਿਸਮਾਂ
1. ਸਟੋਰਡ XSS: ਸਥਾਈ ਖ਼ਤਰਾ
ਸਟੋਰ ਕੀਤਾ XSS ਸਰਵਰ 'ਤੇ ਸਥਾਈ ਤੌਰ 'ਤੇ ਇੱਕ ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟ ਲਗਾ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਹਰੇਕ ਉਪਭੋਗਤਾ ਲਈ ਆਪਣੇ ਆਪ ਚਾਲੂ ਹੋ ਜਾਂਦਾ ਹੈ ਜੋ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਭਾਵਿਤ ਪੰਨੇ ਨੂੰ ਵੇਖਦਾ ਹੈ।
ਸਟੋਰ ਕੀਤੀਆਂ XSS ਕਮਜ਼ੋਰੀਆਂ ਉਦੋਂ ਵਾਪਰਦੀਆਂ ਹਨ ਜਦੋਂ ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਸਰਵਰ 'ਤੇ ਸਥਾਈ ਤੌਰ 'ਤੇ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ, ਇੱਕ ਡੇਟਾਬੇਸ ਵਿੱਚ) ਅਤੇ ਜਦੋਂ ਵੀ ਕੋਈ ਉਪਭੋਗਤਾ ਪ੍ਰਭਾਵਿਤ ਪੰਨੇ ਤੱਕ ਪਹੁੰਚ ਕਰਦਾ ਹੈ ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ।
ਉਦਾਹਰਨ: ਇੱਕ ਟਿੱਪਣੀ ਖੇਤਰ ਜੋ ਅਣ-ਪ੍ਰਮਾਣਿਤ ਉਪਭੋਗਤਾ ਇਨਪੁਟ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ:
2. ਪ੍ਰਤੀਬਿੰਬਤ XSS: ਪਲ ਵਿੱਚ ਡਿਲੀਵਰ ਕੀਤਾ ਗਿਆ
ਰਿਫਲੈਕਟਡ XSS ਇੱਕ ਸਿੰਗਲ ਕ੍ਰਾਫਟਡ ਲਿੰਕ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ, ਸਕ੍ਰਿਪਟ ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਚੱਲਦੀ ਹੈ ਜਦੋਂ ਪੀੜਤ ਇਸ 'ਤੇ ਕਲਿੱਕ ਕਰਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਫਿਸ਼ਿੰਗ ਜਾਂ ਸੋਸ਼ਲ ਇੰਜੀਨੀਅਰਿੰਗ ਰਾਹੀਂ।
ਰਿਫਲੈਕਟਿਡ XSS ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟਾਂ URL ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਅਤੇ ਉਦੋਂ ਲਾਗੂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ ਜਦੋਂ ਕੋਈ ਉਪਭੋਗਤਾ ਲਿੰਕ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਫਿਸ਼ਿੰਗ ਜਾਂ ਸੋਸ਼ਲ ਇੰਜੀਨੀਅਰਿੰਗ ਰਾਹੀਂ ਡਿਲੀਵਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਉਦਾਹਰਨ:
https://example.com/search?q=
3. DOM-ਅਧਾਰਿਤ XSS: ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲੁਕੇ ਹੋਏ ਹਮਲੇ
DOM-ਅਧਾਰਿਤ XSS ਕਦੇ ਵੀ ਸਰਵਰ ਨੂੰ ਬਿਲਕੁਲ ਨਹੀਂ ਛੂੰਹਦਾ, ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਲਾਇੰਟ-ਸਾਈਡ 'ਤੇ ਚੱਲਦੀ ਹੈ, JavaScript ਰਾਹੀਂ ਜੋ ਪੰਨੇ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਗਲਤ ਢੰਗ ਨਾਲ ਸੰਭਾਲਦੀ ਹੈ।
ਇਸ ਕਿਸਮ ਵਿੱਚ, ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟਾਂ ਕਲਾਇੰਟ-ਸਾਈਡ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਕਮਜ਼ੋਰੀਆਂ ਦਾ ਸ਼ੋਸ਼ਣ ਕਰਦੀਆਂ ਹਨ ਤਾਂ ਜੋ ਦਸਤਾਵੇਜ਼ ਆਬਜੈਕਟ ਮਾਡਲ (DOM) ਨੂੰ ਹੇਰਾਫੇਰੀ ਕੀਤਾ ਜਾ ਸਕੇ।
ਉਦਾਹਰਨ: ਇੱਕ JavaScript ਸਨਿੱਪਟ ਜੋ ਗੈਰ-ਸਾਫ਼-ਰਹਿਤ ਉਪਭੋਗਤਾ ਇਨਪੁਟ ਨੂੰ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਪੇਸ਼ ਕਰਦਾ ਹੈ:
var input = location.hash.substring(1);
document.getElementById("output").innerHTML = input; // Vulnerable
ਤੁਹਾਡੇ ਆਪਣੇ ਕੋਡਬੇਸ ਵਿੱਚ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿੰਨੇ ਪੈਟਰਨ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹਨ, ਇਹ ਜਾਣਨ ਲਈ ਉਤਸੁਕ ਹੋ? Xygeni's SAST ਸਟੋਰ ਕੀਤੇ, ਪ੍ਰਤੀਬਿੰਬਿਤ, ਅਤੇ DOM-ਅਧਾਰਿਤ XSS ਜੋਖਮਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਸਕੈਨ ਕਰਦਾ ਹੈ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਉਹ ਇੱਕ ਤੱਕ ਪਹੁੰਚ ਜਾਣ pull request.
ਕਿਵੇਂ SAST ਟੂਲ XSS ਨੂੰ ਇਸਦੇ ਟਰੈਕਾਂ ਵਿੱਚ ਰੋਕਦੇ ਹਨ
ਸਥਿਰ ਐਪਲੀਕੇਸ਼ਨ ਸੁਰੱਖਿਆ ਟੈਸਟਿੰਗ (SAST) ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਲਾਈਫ ਸਾਈਕਲ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ XSS ਕਮਜ਼ੋਰੀਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਟੂਲ ਅਨਮੋਲ ਹਨ (SDLC).
ਕੁੰਜੀ ਲਾਭ
ਵਿਕਾਸ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਮੁੱਦਿਆਂ ਨੂੰ ਫੜੋ
SAST ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਤੈਨਾਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਟੂਲ ਕਮਜ਼ੋਰ ਪੈਟਰਨਾਂ ਲਈ ਸਰੋਤ ਕੋਡ ਨੂੰ ਸਕੈਨ ਕਰਦੇ ਹਨ।
ਫਲੈਗ ਕੀਤੀ ਕਮਜ਼ੋਰੀ ਦੀ ਉਦਾਹਰਣ:
document.getElementById("output").innerHTML = userInput; // Vulnerable
ਸੁਰੱਖਿਅਤ ਵਿਕਲਪ:
document.getElementById("output").textContent = sanitize(userInput); // Secure
ਪੂਰੇ ਕੋਡਬੇਸ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ
ਆਧੁਨਿਕ SAST ਟੂਲ ਸਿਰਫ਼ ਕਸਟਮ ਕੋਡ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਹੀ ਨਹੀਂ ਕਰਦੇ; ਉਹ ਨਿਰਭਰਤਾਵਾਂ ਅਤੇ ਤੀਜੀ-ਧਿਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਵੀ ਸਕੈਨ ਕਰਦੇ ਹਨ, ਲੁਕਵੇਂ ਜੋਖਮਾਂ ਦਾ ਪਤਾ ਲਗਾਉਂਦੇ ਹਨ।
ਸਹਿਜੇ ਹੀ ਏਕੀਕ੍ਰਿਤ ਕਰੋ CI/CD
SAST ਟੂਲ ਆਪਣੇ ਆਪ ਹੀ XSS ਕਮਜ਼ੋਰੀਆਂ ਲਈ ਸਕੈਨ ਕਰਦੇ ਹਨ pull requests ਅਤੇ ਅਸੁਰੱਖਿਅਤ ਕੋਡ ਨੂੰ ਮਿਲਾਉਣ ਤੋਂ ਰੋਕੋ।
ਸਭ ਤੋਂ ਮਾਇਨੇ ਰੱਖਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰੋ
SAST ਟੂਲ ਕਮਜ਼ੋਰੀਆਂ ਦੀ ਸ਼ੋਸ਼ਣਯੋਗਤਾ ਅਤੇ ਗੰਭੀਰਤਾ ਦਾ ਮੁਲਾਂਕਣ ਕਰਕੇ ਹੱਲਾਂ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਟੀਮਾਂ ਸਭ ਤੋਂ ਮਹੱਤਵਪੂਰਨ ਮੁੱਦਿਆਂ ਨੂੰ ਪਹਿਲਾਂ ਹੱਲ ਕਰਨ ਦੇ ਯੋਗ ਬਣਦੀਆਂ ਹਨ।
Xygeni XSS ਵਿਰੁੱਧ ਲੜਾਈ ਜਿੱਤਣ ਵਿੱਚ ਤੁਹਾਡੀ ਕਿਵੇਂ ਮਦਦ ਕਰਦਾ ਹੈ
Xygeni XSS ਕਮਜ਼ੋਰੀ ਨੂੰ ਲੱਭਣ ਅਤੇ ਅਸਲ ਵਿੱਚ ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਦੇ ਵਿਚਕਾਰਲੇ ਪਾੜੇ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਸਥਿਰ ਵਿਸ਼ਲੇਸ਼ਣ, AI-ਸੰਚਾਲਿਤ ਉਪਚਾਰ, ਅਤੇ ਸਪਲਾਈ ਚੇਨ ਦ੍ਰਿਸ਼ਟੀ ਨੂੰ ਜੋੜਦਾ ਹੈ। ਇੱਥੇ ਕਿਵੇਂ ਕਰਨਾ ਹੈ:
- Code Security (SAST): XSS ਅਤੇ ਹੋਰ ਇੰਜੈਕਸ਼ਨ ਖਾਮੀਆਂ ਲਈ ਪਹਿਲੀ-ਧਿਰ ਕੋਡ ਨੂੰ ਸਕੈਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਇਹ ਲਿਖਿਆ ਹੈ, ਤੈਨਾਤੀ ਤੋਂ ਪਹਿਲਾਂ ਉਹਨਾਂ ਨੂੰ ਫੜਦਾ ਹੈ। OWASP ਬੈਂਚਮਾਰਕ 'ਤੇ, Xygeni-SAST XSS ਖੋਜ 'ਤੇ ਘੱਟੋ-ਘੱਟ ਝੂਠੇ ਸਕਾਰਾਤਮਕ ਦੇ ਨਾਲ 100% ਸੱਚੀ ਸਕਾਰਾਤਮਕ ਦਰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ।
- ਏਆਈ ਆਟੋਫਿਕਸ: ਡਿਵੈਲਪਰ-ਤਿਆਰ ਫਿਕਸ ਦੇ ਨਾਲ ਫਲੈਗ ਕੀਤੀਆਂ XSS ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਤੁਰੰਤ ਠੀਕ ਕਰਦਾ ਹੈ, ਇੱਕ ਪੈਦਾ ਕਰਦਾ ਹੈ pull request ਤੁਹਾਡੇ ਕੋਡਬੇਸ ਨਾਲ ਜੁੜੇ ਇੱਕ ਸੁਰੱਖਿਅਤ ਵਿਕਲਪ ਦੇ ਨਾਲ, ਕਿਸੇ ਮੈਨੂਅਲ ਪੈਚਿੰਗ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।
- ਮਾਲਵੇਅਰ ਰੱਖਿਆ: ਇੰਜੈਕਟ ਕੀਤੇ ਜਾਂ ਸਮਝੌਤਾ ਕੀਤੇ ਕੋਡ ਲਈ ਨਿਰਭਰਤਾਵਾਂ ਅਤੇ ਤੀਜੀ-ਧਿਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਇੱਕ ਓਪਨ-ਸੋਰਸ ਪੈਕੇਜ ਵਿੱਚ ਛੁਪਿਆ ਇੱਕ ਕਮਜ਼ੋਰ ਪੈਟਰਨ ਤੁਹਾਡੀ ਪਹਿਲੀ-ਧਿਰ ਕੋਡ ਸਮੀਖਿਆ ਤੋਂ ਅੱਗੇ ਨਹੀਂ ਵਧਦਾ।
- IDE ਅਤੇ CI/CD ਏਕੀਕਰਣ: ਕੋਡ ਲਿਖੇ ਜਾਣ 'ਤੇ ਸਿੱਧੇ IDE ਵਿੱਚ ਮੁੱਦਿਆਂ ਨੂੰ ਫਲੈਗ ਕਰਦਾ ਹੈ, ਅਤੇ ਐਨੋਟੇਟ ਕਰਦਾ ਹੈ pull requests GitHub, GitLab, Bitbucket, Azure DevOps, ਅਤੇ Jenkins ਵਿੱਚ ਆਪਣੇ ਆਪ, ਇਸ ਲਈ ਕਮਜ਼ੋਰ ਕੋਡ ਪਹਿਲਾਂ ਹੀ ਮਿਲਾਇਆ ਨਹੀਂ ਜਾਂਦਾ।
ਲਚਕੀਲੇ ਐਪਲੀਕੇਸ਼ਨ ਬਣਾਓ: ਕਰਾਸ-ਸਾਈਟ ਸਕ੍ਰਿਪਟਿੰਗ ਨੂੰ ਜਾਰੀ ਰੱਖਣ ਲਈ ਸੁਝਾਅ
ਆਪਣੀਆਂ ਅਰਜ਼ੀਆਂ ਨੂੰ ਹੋਰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ, ਇਹਨਾਂ ਅਭਿਆਸਾਂ ਨੂੰ ਨਾਲ-ਨਾਲ ਲਾਗੂ ਕਰੋ SAST ਸੰਦ:
- ਯੂਜ਼ਰ ਇਨਪੁਟਸ ਨੂੰ ਸੈਨੀਟਾਈਜ਼ ਕਰੋ: ਮਜ਼ਬੂਤ ਸੈਨੀਟਾਈਜ਼ੇਸ਼ਨ ਲਈ DOMPurify ਵਰਗੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਏਨਕੋਡ ਆਉਟਪੁੱਟ: ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਰੈਂਡਰ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਹਮੇਸ਼ਾਂ ਗਤੀਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਏਨਕੋਡ ਕਰੋ।
- ਸਮੱਗਰੀ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ (CSPs) ਲਾਗੂ ਕਰੋ: ਸਕ੍ਰਿਪਟ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਨੂੰ ਭਰੋਸੇਯੋਗ ਸਰੋਤਾਂ ਤੱਕ ਸੀਮਤ ਕਰੋ।
- ਕੋਡ ਆਡਿਟ ਨੂੰ ਨਿਰੰਤਰ ਬਣਾਓ, ਸਮੇਂ-ਸਮੇਂ 'ਤੇ ਨਹੀਂ: ਮੈਨੂਅਲ ਸਮੀਖਿਆਵਾਂ ਨੂੰ ਸ਼ਡਿਊਲ ਕਰਨ ਦੀ ਬਜਾਏ, Xygeni's ਚਲਾਓ SAST ਸਕੈਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ pre-commit ਹੁੱਕ ਜਾਂ ਸਿੱਧਾ ਤੁਹਾਡੇ ਵਿੱਚ CI/CD pipeline (GitHub, GitLab, Bitbucket, Azure DevOps, Jenkins), ਇਸ ਲਈ ਹਰ commit ਆਪਣੇ ਆਪ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਅਸੁਰੱਖਿਅਤ ਕੋਡ ਕਦੇ ਵੀ ਮਰਜ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦਾ।
ਕੀ ਤੁਸੀਂ XSS ਦੇ ਖਿਲਾਫ ਆਪਣੀਆਂ ਅਰਜ਼ੀਆਂ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ?
XSS ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਸੁਰੱਖਿਆ ਲਈ ਖ਼ਤਰਾ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ। ਇਹ ਸਮਝਣਾ ਕਿ ਉਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਹਨ, ਉਹਨਾਂ ਨੂੰ ਫੜਨਾ SAST ਔਜ਼ਾਰ, ਅਤੇ ਸੁਰੱਖਿਅਤ ਕੋਡਿੰਗ ਅਭਿਆਸਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਨਾਲ ਹਮਲਾਵਰ ਦੇ ਕਦੇ ਵੀ ਪਾੜੇ ਨੂੰ ਲੱਭਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੇ ਐਕਸਪੋਜਰ ਨੂੰ ਲਗਭਗ ਜ਼ੀਰੋ ਤੱਕ ਘਟਾ ਸਕਦੇ ਹਨ।
At ਜ਼ਾਇਗੇਨੀ, ਅਸੀਂ ਇਹਨਾਂ ਕਮਜ਼ੋਰੀਆਂ ਨੂੰ ਜਲਦੀ ਫੜਨ, ਅਸਲ ਵਿੱਚ ਮਾਇਨੇ ਰੱਖਣ ਵਾਲੀਆਂ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਤੁਹਾਡੇ ਤੋਂ ਦੂਰ ਰੱਖਣ ਲਈ ਬਣਾਏ ਗਏ ਹਾਂ pipelineਪੂਰੀ ਤਰ੍ਹਾਂ।
ਇੱਕ ਡੈਮੋ ਬੁੱਕ ਕਰੋ, ਜਾਂ ਅੱਜ ਹੀ ਆਪਣੇ ਕੋਡ ਨੂੰ ਮੁਫ਼ਤ ਵਿੱਚ ਸਕੈਨ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰੋ।
ਸਵਾਲ
XSS ਕਮਜ਼ੋਰੀ ਕੀ ਹੈ?
XSS (ਕਰਾਸ-ਸਾਈਟ ਸਕ੍ਰਿਪਟਿੰਗ) ਇੱਕ ਕਮਜ਼ੋਰੀ ਹੈ ਜੋ ਇੱਕ ਹਮਲਾਵਰ ਨੂੰ ਇੱਕ ਵੈੱਬ ਪੇਜ ਵਿੱਚ ਇੱਕ ਖਤਰਨਾਕ ਸਕ੍ਰਿਪਟ ਇੰਜੈਕਟ ਕਰਨ ਦਿੰਦੀ ਹੈ, ਜੋ ਫਿਰ ਕਿਸੇ ਹੋਰ ਉਪਭੋਗਤਾ ਦੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਇਸ ਤਰ੍ਹਾਂ ਚੱਲਦੀ ਹੈ ਜਿਵੇਂ ਇਹ ਜਾਇਜ਼ ਸਾਈਟ ਦਾ ਹਿੱਸਾ ਹੋਵੇ।
XSS ਦੀਆਂ ਤਿੰਨ ਮੁੱਖ ਕਿਸਮਾਂ ਕੀ ਹਨ?
ਸਟੋਰ ਕੀਤਾ XSS (ਸਕ੍ਰਿਪਟ ਸਰਵਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਹਰੇਕ ਵਿਜ਼ਟਰ ਲਈ ਚੱਲਦੀ ਹੈ), ਰਿਫਲੈਕਟਡ XSS (ਸਕ੍ਰਿਪਟ ਇੱਕ ਲਿੰਕ ਵਿੱਚ ਏਮਬੈਡ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਉਦੋਂ ਹੀ ਚੱਲਦੀ ਹੈ ਜਦੋਂ ਉਸ ਲਿੰਕ 'ਤੇ ਕਲਿੱਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ), ਅਤੇ DOM-ਅਧਾਰਿਤ XSS (ਸਕ੍ਰਿਪਟ ਪੂਰੀ ਤਰ੍ਹਾਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਅਸੁਰੱਖਿਅਤ ਕਲਾਇੰਟ-ਸਾਈਡ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਰਾਹੀਂ ਚੱਲਦੀ ਹੈ, ਬਿਨਾਂ ਸਰਵਰ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤੇ)।
ਹੋ ਸਕਦਾ ਹੈ SAST ਕੀ ਟੂਲ DOM-ਅਧਾਰਿਤ XSS ਨੂੰ ਫੜਦੇ ਹਨ?
ਹਾਂ, ਆਧੁਨਿਕ SAST ਟੂਲ ਕਲਾਇੰਟ-ਸਾਈਡ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਨੂੰ ਉਹਨਾਂ ਹੀ ਅਸੁਰੱਖਿਅਤ ਪੈਟਰਨਾਂ ਲਈ ਸਕੈਨ ਕਰਦੇ ਹਨ (ਜਿਵੇਂ ਕਿ DOM ਵਿੱਚ ਸਿੱਧਾ ਲਿਖਿਆ ਗਿਆ ਅਣਸੁਰੱਖਿਅਤ ਇਨਪੁਟ) ਜੋ DOM-ਅਧਾਰਿਤ XSS ਦਾ ਕਾਰਨ ਬਣਦੇ ਹਨ, ਨਾ ਕਿ ਸਿਰਫ਼ ਸਰਵਰ-ਸਾਈਡ ਕੋਡ ਲਈ।
ਕੀ XSS ਅਜੇ ਵੀ ਇੱਕ ਆਮ ਕਮਜ਼ੋਰੀ ਹੈ?
ਹਾਂ। XSS OWASP ਟੌਪ 10 ਵਿੱਚ ਇੱਕ ਸਥਾਈ ਐਂਟਰੀ ਬਣਿਆ ਹੋਇਆ ਹੈ, ਮੁੱਖ ਤੌਰ 'ਤੇ ਕਿਉਂਕਿ ਇਹ ਇੱਕ ਪੂਰੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਬੇਨਕਾਬ ਕਰਨ ਲਈ ਸਿਰਫ ਇੱਕ ਅਣਦੇਖਾ ਇਨਪੁੱਟ ਖੇਤਰ ਲੈਂਦਾ ਹੈ।
ਕਿਵੇਂ ਹੈ ਏ SAST XSS ਰੋਕਥਾਮ ਲਈ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨ ਫਾਇਰਵਾਲ (WAF) ਤੋਂ ਵੱਖਰਾ ਟੂਲ ਕੀ ਹੈ?
A SAST ਟੂਲ ਡਿਪਲਾਇਮੈਂਟ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੇ ਸੋਰਸ ਕੋਡ ਵਿੱਚ ਕਮਜ਼ੋਰ ਪੈਟਰਨ ਲੱਭਦਾ ਹੈ, ਇਸ ਲਈ ਬੱਗ ਕਦੇ ਨਹੀਂ ਭੇਜਦਾ। ਇੱਕ WAF ਪਹਿਲਾਂ ਤੋਂ ਚੱਲ ਰਹੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਸਾਹਮਣੇ ਬੈਠਦਾ ਹੈ ਅਤੇ ਰਨਟਾਈਮ 'ਤੇ ਖਤਰਨਾਕ ਬੇਨਤੀਆਂ ਨੂੰ ਰੋਕਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਇਹ ਇੱਕ ਸੁਰੱਖਿਆ ਜਾਲ ਹੈ, ਅੰਡਰਲਾਈੰਗ ਕੋਡ ਲਈ ਇੱਕ ਫਿਕਸ ਨਹੀਂ।







