58 lines
3.3 KiB
HTML
58 lines
3.3 KiB
HTML
<?doctype html?>
|
|
<html ng-app='souris-app'>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>PasteBox</title>
|
|
</head>
|
|
<body>
|
|
<div id="wrapper">
|
|
<div class="container-responsive">
|
|
<article ng-view></article>
|
|
|
|
<a onclick='var elm = document.getElementById("debug"); elm.parentNode.style.display="block"; window.scrollTop = window.scrollHeight;' style="margin:3px;cursor:context-menu;font-family:monospace;position:fixed;bottom:0;right:0">π</a>
|
|
<div class='panel panel-default' style='height:13em;margin-bottom:0;margin-top:2em;;display:none;position:relative;bottom:0'><b>Debug Log</b>
|
|
<div style='float:right'>
|
|
<a class="btn" onclick='document.getElementById("debug").parentNode.style.display="none";'><i class='glyphicon glyphicon-remove'></i></a><br/>
|
|
<a class="btn" onclick='var elm=document.getElementById("debug");while (elm.firstChild) {elm.removeChild(elm.firstChild);}'><i class='glyphicon glyphicon-ban-circle'></i></a>
|
|
</div>
|
|
<pre id=debug style='height:12em; overflow:x-scroll;'></pre>
|
|
<footer></footer></div>
|
|
</div>
|
|
</div>
|
|
|
|
<link rel="stylesheet" href="style.css" integrity='sha384-2g6CT1TMuzCclIAqYC+AkSkfA21njEedIBVs+k3tcZ6gHhCU7s17aGJMLvYsF0fK'>
|
|
<script src='app.js'></script>
|
|
<noscript>
|
|
<div class=container-responsive>
|
|
<h1>PasteBox</h1>
|
|
<p>It looks like yo don't have javascript enabled for this site. But thats ok. You can still submit and read the content of pastes by using a few curl/openssl/gunzip commands.</p>
|
|
<h2>Get the paste</h2>
|
|
<p>Lets say you have the following link <code>https://domain.tld/#/FeLq42kIQV69hQCJA8m9lg!5EDDziaCjceHjeG5UQ9M7-6wgyq5YVfysAEZ0wUNy6w</code>. Query the REST endpoint for the ID or part before the ! in the url hash.</p>
|
|
<pre><code>$ curl -i https://domain.tld/api/FeLq42kIQV69hQCJA8m9lg</code></pre>
|
|
<h2>Decrypt</h2>
|
|
<p>Using Openssl you want to remove the header and pass the remaining base64 for decryption. The cypher used is aes-256-cbc. The key is the portion after the ! in the link.</p>
|
|
<pre><code>... | sed '1,/^$/d' | openssl aes-256-cbc -d -a -k 5EDDziaCjceHjeG5UQ9M7-6wgyq5YVfysAEZ0wUNy6w</code></pre>
|
|
<h2>Deflate</h2>
|
|
<p>If as in the provided example the paste has been compressed pass it through gunzip. The header will have "zip: true" if it has been compressed.</p>
|
|
<pre><code> ... | gzip -dc </code></pre>
|
|
|
|
<h2>Example Output</h2>
|
|
<pre><code>$ curl -s "https://domain.tld/api/FeLq42kIQV69hQCJA8m9lg" | sed "1,/^$/d" | openssl aes-256-cbc -d -a -k 5EDDziaCjceHjeG5UQ9M7-6wgyq5YVfysAEZ0wUNy6w | gzip -dc
|
|
. ____ .-.
|
|
.-"` `",( __\_
|
|
.-==:;-._ .' .-. `'.
|
|
.' `"-:'-/ ( \} -=a .)
|
|
/ \/ \,== `- __..-'`
|
|
'-' | | | .'\ `;
|
|
\ _/---'\ ( `"`
|
|
/.`._ ) \ `; Sour.is Paste
|
|
\`-/.' `"`
|
|
`"\`-.</code></pre>
|
|
</div>
|
|
</noscript>
|
|
</body>
|
|
</html>
|
|
|