Zum Inhalt der Seite gehen


Gerade @Malte 's exzellente Einführung in SSRF (server side request forgery) genossen am #Winterkongress und fleissig Notizen gemacht. Habe da noch ein paar Punkte am PrivateBin directory nachzubessern. Gopher-URLs via (lib)curl zu nutzen um ganz andere Protokolle zu sprechen (das gezeigte Beispiel war SMTP) ist echt kreativ, aber wenigstens recht einfach zu unterbinden.


A classic bug for a leap day: At work, colleagues discovered and fixed a bug in a lesser used tool that only occurs on February 29th. It did trip up the tests, so no one got to merge until it got identified and resolved.

The source file in question hadn't been touched in over 4 years. Last leap year, the 29th was on a Saturday, so likely no one noticed.

What was annoying is that the logic had been clearly written with the intent of handling leap years. A leap year check condition was present, validated only on a February > 28th, but had to get inverted.

You may wonder why we wouldn't have used the languages' standard library date functions to validate the date - unfortunately the language in question doesn't have such a sophisticated standard library (language omitted to protect the innocent).




MadMike77 hat dies geteilt


Congratulations to Sergio Benitez on releasing rocket.rs 0.5.0! Thank you for this great framework. 👏

I got to follow rocket's journey to async and stable #rust with the PrivateBin directory service. Coming from Python flask apps, it is really easy to pick up and get going with your webservice, offering static & templated content, easy to create web forms and JSON APIs.

Thanks to rust's strict type system I could focus on the logic and didn't have to waste time double checking and casting data received by clients. If my API accepts an integer in a certain parameter, Rocket will ensure I only receive valid requests in my logic.

teilten dies erneut



I like CSS-animations, clocks and dials for making metrics easier to digest (we are quicker at detecting angular changes than reading and parsing digits). So I'm in awe with this creative use of a watch-dial to visualize a 32-bit hexadecimal number:

https://retr0.id/stuff/2038/



#PrivateBin v1.6.0 released - adding translations for Japanese & Arabic, configuration option to disable email button and increases the minimal required PHP version to 7.3.








#TIL:

prompt injection, which is a form of cyberattack that exploits [an AI's] natural language processing abilities.


PrivateBin 1.5.1 released - Filesystem purge lookup change & administration script


PrivateBin 1.5.0 released - Adding S3 Storage backend, storage migration script & 4 new translations

https://privatebin.info/news/v1.5.0-release.html



PrivateBin 1.4.0 released - Hardening the attachment preview, Google Cloud Storage and Oracle database support & adding new translations


My team at LzLabs GmbH in Wallisellen, Switzerland, is looking for a 4th DevOps Engineer. You'd be working primarily with a CloudBees (Jenkins) cluster of around 90 blades for build & testing, for several software stacks that targets RHEL, but hopefully soon™ also other platforms. And of course there are also a lot of build and deployment related projects to be spice things up on the side, like maintaining and developing a test statistics database, code coverage reporting, change log and other automation projects, all in a mostly ansible-ized environment. The companies main language is English, living in or moving to the vicinity of Zürich would certainly be advantageous.

#followerpower #Stellenangebote #jobs #jeRecrute

Als Antwort auf elrido

Next week a new hire starts in our team. To help them find their way in our environment, we created this map. Let's hope it wont scare them away. :-D


Field report on upgrading a rocket v0.4 application to v0.5


Als Antwort auf elrido



My employer is looking for a Junior and a Senior Web Developer in Wallisellen, Switzerland. Please feel free to share and/or message me privately or publicly, if you want to know more about the company.

https://lzlabs.peoplehr.net/Pages/JobBoard/Opening.aspx?v=286d1604-0dd9-4068-9ca4-4927773aea80
https://lzlabs.peoplehr.net/Pages/JobBoard/Opening.aspx?v=d74084e2-926b-4863-bf1c-505043c0f111

#hiring #jobs #JeRecrute (pas moi)


Good morning, currently reading a book called:

10 PRINT CHR$(205.5+RND(1)); : GOTO 10

The book's title and subject is the one liner that produces a maze on the Commodore 64 BASIC V2. In one of the chapters the books authors consider ports to other 8 bit systems, as well as modern scripting languages, using unicode characters. Here is their port to perl:

perl -e 'binmode STDOUT,"utf8";{print chr(9585.5+rand);redo}'

Got me inspired, here are my attempts for python (the second one cheats a bit, as it uses POSIX shell to format the script):

python3 -c 'import random;exec("while True:\n\tprint(chr(int(9585.5+random.random())),end=\"\");")'
printf "import random\nwhile True:\n\tprint(chr(int(9585.5+random.random())),end='')" | python3 -


and php (still no native unicode support, so have to build the 3 bytes for the utf-8 symbol one by one):

php -r 'while(1){echo chr(226),chr(149),chr(177.5+rand(0,1));}'
Als Antwort auf elrido

bash:

bash -c 'while true;do printf %b "\U$(printf %08x $((9585 + $RANDOM % 2)))";done'


Shell parsing is hard.

Yes, shell parsing is non-obvious - it does help enormously to understand that the shell takes what you type on the command line after you hit enter, parses it, replacing variables, expanding globs (wildcards) and other language constructs in the process and only then issues a system call, passing the resulting argv structure to the kernel for execution.

Exhibit A (source of the above quote): How the local shell ssh and the remote shell interact, in unexpected ways

Exhibit B: skarnet's introduction to the execline language design and grammar goes into further details of the argv structure

Exhibit C: How to use execlineb for nginx to wait for up to 10s on the startup of php-fpm, avoiding involvment of a shell process




PrivateBin 1.3.5 released - Fixing several smaller issues, adding new translations https://privatebin.info/news/v1.3.5-release.html


Many folks don't know that the Unicode standard is actually much older then they think. Here's the spec as of 1889 ;-)


Started looking into gemini space. Love how it feels - it's like the web ca. mid-90s. UI is back under your control and you can focus on reading the content instead of getting the site to work (because either you have issues with noscript turned on and sites requiring JS to display text or you have it disabled and have to click through modal windows informing you of cookie settings, sign up for that newsletter, etc. to get to the content).

I'm using Castor and wanted to merry it to my Gnome desktop, so clicking links in Firefox/Chromium opens them in Castor. Oh, and I got a gopher client for free with it as well. Was bummed when Firefox dropped gopher support. Here's how to register the gemini protocol in Gnome (and build castor):



While grep and sed are commoly used, awk fills a valuable niche when processing structured text, avoiding multiple pipes or more complicated regex extractions. Here is a handy flowchart to pick the ideal tool for your text processing task:

4


A plaintext chart and a simple example making use of several awk features can be found here:



Small tools to use as (non-sharable) sketchpads - if you need a quick spreadsheet calculation or text editor and are to lazy to open a terminal. Good example of #minimalism and very #privacy minded.


Maybe a concept we could evaluate for use in our fediverse software as well:

This forms a relative reputation system. As uncomfortable as it may be, one man’s terrorist is another man’s freedom fighter, and different jurisdictions have different laws - and it’s not up to the Matrix.org Foundation to play God and adjudicate. Each user/moderator/admin should be free to make up their own mind and decide which reputation feeds to align themselves with.


Everything you always wanted to know about punch card data encoding, but were afraid to ask:

@Retrocomputing Forum #RetroComputing



Das Gerät (32620) hinter dem Zahlensender


Having fun learning how to use flex box CSS rules by playing this tower defense game:


Für mein erstes Projekt in Rust suche ich noch eine geeignete freie Lizenz. Da es sich um einen Dienst handelt, welcher hauptsächlich als Webseite genutzt wird, hatte ich an die AGPL gedacht. Mir fiel aber auf, das die meisten darin verwendeten Bibliotheken MIT und Apache lizenziert sind, was ich eher von Software kenne, die auch kommerziell genutzt werden soll. Für Empfehlungen die für oder gegen eine der genannten Lizenzen sprechen bin ich dankbar. #FollowerPower



Spass am weniger bekannten 8-Bit-Gerät - BASIC-Labyrinth auf den KC 85/4 portieren


Duff's device (ca. 1984)
register n = (count + 7) / 8; /* count > 0 assumed */

switch (count % 8)
{
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}

Via jargon file, Kommentar von Tom Duff


Der wahrscheinlich kleinste SMS gateway der Welt: VoCore2 + OpenWRT + smstools + USB-GSM-Modem


Dinge die Programmierer meinen über die Welt zu Wissen:


"Hausnummern sind immer ganze Zahlen!"
Ein Schild mit der Hausnummer "Savoyen Straße 2 1/2".
Als Antwort auf elrido

Seien wir froh, müssen wir uns nur mit den modernen Datums- & Zeit-Problemen herumschlagen. Hier hat jemand eine ähnliche Liste mit Ausnahmen in alt-römischen Kalender-Problemen zusammengetragen:

Dealing with Time in the Roman Calendar


PrivateBin v1.3.4 released - Fixing HTML entities, custom expiration, pasting into password field
https://privatebin.info/news/v1.3.4-release.html



PrivateBin v1.3.3 & v1.2.3 - Fixing HTML entity double encoding issues introduced in 1.3.2 & 1.2.2 https://privatebin.info/news/v1.3.3-v1.2.3-release.html


PrivateBin 1.3.2 & 1.2.2 released - Fix for persistent XSS vulnerability in filenames of attached files
https://privatebin.info/news/v1.3.2-v1.2.2-release.html
Dieser Beitrag wurde bearbeitet. (4 Jahre her)


Ross Andersons presentation at the #36C3 introduced me to the concept of security economics: "If Alice guards a system, but Bobs bears the cost of it failing, expect trouble." (quoting from memory)


PrivateBin 1.3 released - Fixing mangled URLs, switching encryption & compression libraries https://privatebin.info/news/v1.3-release.html
Dieser Beitrag wurde bearbeitet. (4 Jahre her)