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

      tRPC vs GraphQL vs REST: Choosing the right API design for modern web applications

      June 26, 2025

      Jakarta EE 11 Platform launches with modernized Test Compatibility Kit framework

      June 26, 2025

      Can Good UX Protect Older Users From Digital Scams?

      June 25, 2025

      Warp 2.0 evolves terminal experience into an Agentic Development Environment

      June 25, 2025

      Microsoft Copilot secures a spot in classrooms as a “thought partner” — with Copilot Chat backed by OpenAI’s GPT-4o

      June 26, 2025

      OpenAI started as a “countervailing force” to Google — did Elon Musk and Sam Altman torpedo DeepMind’s plans to dictate AGI?

      June 26, 2025

      Gears of War: Reloaded preorders — where to buy and everything you need to know

      June 26, 2025

      OpenAI’s Sam Altman breaks silence on Microsoft feud with Satya Nadella — citing “points of tension” amid evolution plans

      June 26, 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

      Are Semantic Layers Sexy Again? or The Rise and Fall and Rise of Semantic Layers

      June 26, 2025
      Recent

      Are Semantic Layers Sexy Again? or The Rise and Fall and Rise of Semantic Layers

      June 26, 2025

      Salesforce Marketing Cloud Engagement vs. Oracle Eloqua

      June 26, 2025

      Exploring Lucidworks Fusion and Coveo Using Apache Solr

      June 26, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Microsoft Copilot secures a spot in classrooms as a “thought partner” — with Copilot Chat backed by OpenAI’s GPT-4o

      June 26, 2025
      Recent

      Microsoft Copilot secures a spot in classrooms as a “thought partner” — with Copilot Chat backed by OpenAI’s GPT-4o

      June 26, 2025

      OpenAI started as a “countervailing force” to Google — did Elon Musk and Sam Altman torpedo DeepMind’s plans to dictate AGI?

      June 26, 2025

      Gears of War: Reloaded preorders — where to buy and everything you need to know

      June 26, 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

    Microsoft Copilot secures a spot in classrooms as a “thought partner” — with Copilot Chat backed by OpenAI’s GPT-4o

    June 26, 2025
    News & Updates

    OpenAI started as a “countervailing force” to Google — did Elon Musk and Sam Altman torpedo DeepMind’s plans to dictate AGI?

    June 26, 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

    LincStation S1 Review: A Prebuilt NAS for Tinkerers

    Operating Systems

    Here’s the secret behind Microsoft’s AI agents — meet Mu, the compact AI model transforming Settings on your PC

    News & Updates

    How I Run JavaScript in VS Code

    Linux

    This lightning-fast Linux distro will hook you the moment you try it

    News & Updates

    Highlights

    Empowering Industry with Seamless Online Procurement

    May 5, 2025

    Post Content Source: Read MoreÂ

    Xiaomi introduced MiMo-7B: A Compact Language Model that Outperforms Larger Models in Mathematical and Code Reasoning through Rigorous Pre-Training and Reinforcement Learning

    May 2, 2025

    CVE-2025-4564 – TicketBAI Facturas para WooCommerce File Deletion Vulnerability (Arbitrary File Deletion)

    May 15, 2025

    CVE-2025-46520 – Alphasis Related Posts CSRF Stored XSS

    April 24, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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