Skip to content

Instantly share code, notes, and snippets.

Gunes Acar gunesacar

Block or report user

Report or block gunesacar

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@gunesacar
gunesacar / print_cookies.py
Created Feb 6, 2018
Load a URL and print the cookies with Tor Browser Driver
View print_cookies.py
from argparse import ArgumentParser
from tbselenium.tbdriver import TorBrowserDriver
def print_cookies(tbb_dir, url):
with TorBrowserDriver(tbb_dir) as driver:
driver.load_url(url)
print "Finished loading", url
print "Cookies:", driver.execute_script("return document.cookie;")
View session_replay_urls.md

Script URL substrings used to detect the embeddings from the companies offering session replay services

  • mc.yandex.ru/metrika/watch.js
  • mc.yandex.ru/metrika/tag.js
  • mc.yandex.ru/webvisor/
  • fullstory.com/s/fs.js
  • d2oh4tlt9mrke9.cloudfront.net/Record/js/sessioncam.recorder.js
  • ws.sessioncam.com/Record/record.asmx
  • userreplay.net
  • script.hotjar.com
@gunesacar
gunesacar / tbselenium_usage.py
Last active Oct 28, 2017
tbselenium basic usage
View tbselenium_usage.py
from tbselenium.tbdriver import TorBrowserDriver
TBB_PATH = "/path/to/tbb/7.0.8/tor-browser_en-US/"
def main():
with TorBrowserDriver(TBB_PATH) as driver:
driver.get('https://check.torproject.org')
if __name__ == '__main__':
View py2to3.patch
--- ./demo.py (original)
+++ ./demo.py (refactored)
@@ -1,4 +1,4 @@
-from automation import TaskManager, CommandSequence
+from .automation import TaskManager, CommandSequence
# The list of sites that we wish to crawl
NUM_BROWSERS = 3
@@ -10,7 +10,7 @@
manager_params, browser_params = TaskManager.load_default_params(NUM_BROWSERS)
View page_with_frame_ls_3sec.html
<!doctype html>
<html>
<head>
<title>localStorage example - 3rd party frame</title>
</head>
<body>
<p>Test if we can detect localStorage set by a third-party frame</p>
<iframe src="https://gistcdn.githack.com/gunesacar/b66fd9b4f0ac0548e70c8b5442ec9437/raw/312dac2ba95d7b3f48afc6f51edaba4d8c219546/frame_ls_after_3sec.html"></iframe>
</body>
</html>
View frame_ls_after_3sec.html
<!doctype html>
<html>
<head>
<title>localStorage example</title>
<script type="application/javascript">
function set_ls() {
setTimeout(function(){ localStorage['frameId'] = 'ABCDEF0123456789'; }, 3000);
}
</script>
</head>
View frame_ls.html
<!doctype html>
<html>
<head>
<title>localStorage example - 3rd party frame</title>
</head>
<body>
<p>Test if we can detect localStorage set by a third-party frame</p>
<iframe src="https://gistcdn.githack.com/gunesacar/3b7e1a58252a0fed29e3d509964ef099/raw/dc4831bb865dc3c5980115f24666e5bd40befb4e/frame_ls.html"></iframe>
</body>
</html>
View frame_ls.html
<!doctype html>
<html>
<head>
<title>localStorage example</title>
<script src="https://gistcdn.githack.com/gunesacar/07098e29bdbcdb3ffe40/raw/eacd6885c9f10ccd97ce4ea425408f341409d3ee/gistfile1.js"></script>
</head>
<body>
</body>
</html>
View localstorage_from_third_party_script.html
<!doctype html>
<html>
<head>
<title>localStorage example</title>
<script src="https://gistcdn.githack.com/gunesacar/07098e29bdbcdb3ffe40/raw/eacd6885c9f10ccd97ce4ea425408f341409d3ee/gistfile1.js"></script>
<script type="application/javascript">
function read_ls() {
for(var key in localStorage) {
console.log(key + localStorage.getItem(key));
}
View frame_ls.html
<!doctype html>
<html>
<head>
<title>localStorage example - 3rd party frame</title>
</head>
<body>
<p>Test if we can detect localStorage set by a third-party frame</p>
<iframe src="https://gistcdn.githack.com/gunesacar/43e2ad2b76fa5a7f7c57/raw/44e7303338386514f1f5bb4166c8fd24a92e97fe/set_ls.html"></iframe>
</body>
</html>
You can’t perform that action at this time.