Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      GitHub’s CEO Thomas Dohmke steps down, triggering tighter integration of company within Microsoft

      August 12, 2025

      bitHuman launches SDK for creating AI avatars

      August 12, 2025

      Designing With AI, Not Around It: Practical Advanced Techniques For Product Design Use Cases

      August 11, 2025

      Why Companies Are Investing in AI-Powered React.js Development Services in 2025

      August 11, 2025

      I found a Google Maps alternative that won’t track you or drain your battery – and it’s free

      August 12, 2025

      I tested this new AI podcast tool to see if it can beat NotebookLM – here’s how it did

      August 12, 2025

      Microsoft’s new update makes your taskbar a productivity hub – here’s how

      August 12, 2025

      Save $50 on the OnePlus Pad 3 plus get a free gift – here’s the deal

      August 12, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Laravel Global Scopes: Automatic Query Filtering

      August 12, 2025
      Recent

      Laravel Global Scopes: Automatic Query Filtering

      August 12, 2025

      Building MCP Servers in PHP

      August 12, 2025

      Filament v4 is Stable!

      August 12, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      I Asked OpenAI’s New Open-Source AI Model to Complete a Children’s School Test — Is It Smarter Than a 10-Year-Old?

      August 12, 2025
      Recent

      I Asked OpenAI’s New Open-Source AI Model to Complete a Children’s School Test — Is It Smarter Than a 10-Year-Old?

      August 12, 2025

      Madden NFL 26 Leads This Week’s Xbox Drops—But Don’t Miss These Hidden Gems

      August 12, 2025

      ASUS G14 Bulked Up for 2025—Still Sexy, Just a Bit Chonkier

      August 12, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»News & Updates»Classic WTF: NoeTimeToken

    Classic WTF: NoeTimeToken

    June 26, 2025

    Maybe we’ll just try and read a book. That’s a good way to spend your vacation. This can’t possibly go badly! Original —Remy

    Bozen 1 (201)

    “Have you had a chance to look at that JIRA ticket yet?”

    Marge debated pretending she hadn’t seen the Slack message yet—but, if she did, she knew Gary would just walk over to her desk and badger her further. In truth, she didn’t want to look at the ticket: it was a low priority ticket, and worse, it only affected a small fraction of one client’s customers, meaning it was likely to be some weird edge case bug nobody would ever run into again. Maybe if I ignore it long enough, it’ll go away on its own, she thought.

    The client was a bookseller with a small but signifigant-to-them online presence; the software they used to sell books, including your standard e-commerce account functionality, was made by Marge’s company. The bug was somewhere in the password reset feature: some customers, seemingly at random, were unable to use the password reset link the software emailed out.

    Marge pulled up the ticket, looking over the half-hearted triage work that had been done before it landed on her desk to solve. The previous guy had pulled logs and figured out that all the customers who were complaining were using the same ISP based out of Germany. He’d recommended reaching out to them, but had been transferred to another division before he’d gotten around to it.

    When Marge realized that the contact information was all in German, she almost gave up then and there. But with the magic of Google Translate, she managed to get in touch with a representative via email. After a bit of back and forth, she noticed this gem in one of his (translated) replies:

    We want to display mails in our webmail client as close to the original as possible. Since most mails are HTML formatted, the client supports the full HTTP protocol and can display (almost) all HTML tags. Unfortunately, this means that “evil” JS-Content in such mails can do all kinds of stuff in the browser and therefore on the customer’s PC.

    To avert this, all mails are processed by a “SafeBrowsing”-module before they are displayed, to recognize and circumvent such manipulations.
    One of those security measures is the recognition of js-modules that begin with “on…”, since that are mostly js functions that are triggered by some event in the browser. Our “countermeasure” is to just replace “on…” with “no…” before the HTML content is sent to the rendering process.

    Marge frowned at the answer for a bit, something nagging at her mind. “There’s no way,” she murmured as she pulled up the access logs. Sure enough, the url for the reset link was something like https://bookseller.com?oneTimeToken=deadbeef … and the customers in question had accessed https://bookseller.com?noeTimeToken=deadbeef instead.

    A few lines of code and it was resolved: a conditional would check for the incorrect query string parameter and copy the token to the correct query string parameter instead. Marge rolled her eyes, merged her change into the release branch, and finally, at long last, closed that annoying low-priority ticket once and for all.

    [Advertisement]
    Keep the plebs out of prod. Restrict NuGet feed privileges with ProGet. Learn more.

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleFOSS Weekly #25.26: Torvalds-Gates Showdown, Hyprland Premium, Fedora’s 32-bit Debacle, Xfce Themes and More Linux Stuff
    Next Article CVE-2025-6546 – WordPress Drive Folder Embedder Plugin Stored Cross-Site Scripting Vulnerability

    Related Posts

    News & Updates

    I found a Google Maps alternative that won’t track you or drain your battery – and it’s free

    August 12, 2025
    News & Updates

    I tested this new AI podcast tool to see if it can beat NotebookLM – here’s how it did

    August 12, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    FermiNet: Quantum physics and chemistry from first principles

    Artificial Intelligence

    Want a free VPN? How to use ProtonVPN on Android without having to pay

    News & Updates

    CVE-2025-48915 – Drupal COOKiES Consent Management Cross-Site Scripting (XSS)

    Common Vulnerabilities and Exposures (CVEs)

    The Battlefield 6 PC system requirements are here in time for Open Beta, and they’re kind, too — here are the specs you’ll need to run the explosive FPS

    News & Updates

    Highlights

    CVE-2025-2091 – M-Files Open Redirection Vulnerability

    June 16, 2025

    CVE ID : CVE-2025-2091

    Published : June 16, 2025, 9:15 a.m. | 1 hour, 4 minutes ago

    Description : An open redirection vulnerability in M-Files mobile applications for Android and iOS prior to version 25.6.0 allows attackers to use maliciously crafted PDF files to trick other users into making requests to untrusted URLs.

    Severity: 0.0 | NA

    Visit the link for more details, such as CVSS details, affected products, timeline, and more…

    Xbox PC App Update Brings Cloud Console Games and Cross-Device Play History

    July 22, 2025

    Le Biniou is a music visualization / VJing tool

    May 6, 2025

    Microsoft Edge Integrates Local AI and Enterprise Tools at Build 2025

    May 21, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.