464
Підписники
Немає даних24 години
Немає даних7 днів
Немає даних30 днів
Архів дописів
464
Repost from SecCode
کتاب تست نفوذ اپلیکیشن های اندروید ( نسخه کامل و رایگان )
لینک دانلود :
https://cafenode.ir/Android_Application_Penetration_Testing.pdf
تالیف : میثم منصف
@SecCode
464
https://portswigger.net/research/top-10-web-hacking-techniques
هر سال portswigger میاد ده تا تکنیک های برتر رو میزاره تو سایتشون
و خیلیاشونم قرار نمیگیرن توی top 10 ولی خوندشون بنظرم واجبه.
464
amazing writeup about telegram one click leads to account takeover(xss via postmessage).
https://medium.com/@pedbap/telegram-web-app-xss-session-hijacking-1-click-95acccdc8d90
464
from flask import Flask, request, Response
app = Flask(__name__)
@app.route('/admin', methods=['GET'])
def admin():
data = {"url": request.url, "admin": "True"}
return Response(str(data), mimetype="application/json")
@app.route('/', methods=['GET'])
def index():
data = {"url": request.url, "Index": "True"}
return Response(str(data), mimetype="application/json")
if __name__ == '__main__':
app.run(port=1337, debug=True)
server {
listen 1338;
location = /admin {
deny all;
}
location = /admin/ {
deny all;
}
location / {
proxy_pass http://127.0.0.1:1337;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
bypass the 403.
https://t.me/chillsec464
If you're unable to locate the desired activity in Android, you can use the following Frida code to track all activities:
https://t.me/chillsec
Java.perform(function() {
// Hook into the Activity class
var Activity = Java.use("android.app.Activity");
// Override the onResume method
Activity.onResume.implementation = function() {
// Call the original onResume method
this.onResume();
// Log the current activity name
var currentActivity = this.getClass().getName();
console.log("Activity Resumed: " + currentActivity);
};
// Override the onPause method
Activity.onPause.implementation = function() {
// Call the original onPause method
this.onPause();
// Log the current activity name
var currentActivity = this.getClass().getName();
console.log("Activity Paused: " + currentActivity);
};
});464
Repost from Bugbounty Tips
🚀 بررسی بایپسهای بروز برای Open Redirect
اینجا میخوام یه سری از بایپسهای جدید و خلاقانه برای باگ Open Redirect رو بهتون بگم که باهاش راحت میتونین بایپس کنین!
🔥 اول از همه، تکنیک Subdomain Overloading
اگه سایت گیر بده که فقط دامنه خودش معتبره، میتونین از سابدامین جعلی استفاده کنین:
site.com/login?url=https://site.com.evil.com
اینجا دامنه اصلی رو اول گذاشتیم، اما دامنه مخرب توش مخفی شده و میتونین راحت ریدایرکت کنین.
🔥 بازی با TLD و Encoding
اینم یه روش توپ دیگه واسه بایپس کردن:
site.com/login?url=https://evil.com/%2E%2E%2E%2F
یا با هشتگ:
site.com/login?url=https://evil.com#site.com
اینجوری سرور فکر میکنه که دامنه اصلی معتبره.
🔥 Unicode !
site.com/login?url=https://evil.com%5Csite.com
یا:
site.com/login?url=https://evil.com%EF%BC%8Fsite.com
🔥 Open URL Wrapping
اگه دیدین سایت گیر میده، از لینکهای واسطه استفاده کنین. مثلا گوگل رو وسط ماجرا بندازین:
site.com/login?url=https://google.com/url?q=https://evil.com
خیلی جاها این جواب میده.
🔥 Data URL Injection
و اما شاهکار پایانی! با استفاده از Data URL میتونین مستقیم کد مخرب بندازین تو حلق سایت:
site.com/login?url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnU3VwZXIhJyk8L3NjcmlwdD4=
خیلی حرفهای میتونین حمله کنین و تاثیرشو نشون بدین.
💡 جمعبندی
این بایپسها رو تست کنین:
سابدامین جعلی
کدگذاری مثل %2E و %5C
لینکهای واسطه مثل گوگل
Data URL برای تزریق داده
یادتون نره اگه تکنیک جدیدی پیدا کردین اینجا کامنت کنین تا بقیه هم یاد بگیرن!
🧑💻 دنیای باگ بانتی یعنی خلاقیت!
https://t.me/rootdr_research
#web
#bugbountt464
from flask import Flask, request, jsonify, g
import urllib.parse
import re
import time
app = Flask(__name__)
def get_host_from_url(url):
# Parse the URL and return the network location (host)
parsed_url = urllib.parse.urlparse(url)
return parsed_url.netloc
@app.before_request
def before_request():
# Store the start time for the request
g.start_time = time.perf_counter()
@app.after_request
def after_request(response):
# Calculate total time taken for the request
total_time = time.perf_counter() - g.start_time
response.headers['X-Processing-Time'] = f"{total_time:.4f} seconds"
return response
@app.route('/get_host', methods=['GET'])
def get_host():
# Get the 'url' parameter from the query string
url = request.args.get('url')
print(get_host_from_url(url))
pattern = r"^http(s)?:\/\/(.*\.)?example\.com\/.*$"
if not url:
return jsonify({"error": "No URL provided"}), 400
if re.match(pattern, url):
# Get the host from the provided URL
host = get_host_from_url(url)
if host == "attacker.com":
return jsonify({"you winnnnn": f"the host is: {host}"}), 200
else:
return jsonify({"host": host}), 200
else:
return jsonify({"error": "you didn't give me the right input."}), 400
if __name__ == '__main__':
app.run(debug=True)
Can you solve the challange above?
Special thanks to @Vulnerability_Researcher for sharing this amazing challange.