The Spanner logo
    • Home
    • Blog
      • Blog home
      • RSS
    • Login
    • Home
    • Blog
      • Blog home
      • RSS
    • Login
    The Spanner logo

    The Spanner
    Web security blog

    Made by Gareth Heyes
    Follow me on Twitter: @garethheyes

    Javascript for hackers!

    Hackvertor logo
    Shazzer logo
    My Github account
    Recent posts
    Pure-CSS 3D world collision detection How to write a Hackvertor tagIntroducing Feedworm: A Privacy-First RSS Reader That Lives in DevToolsSpeedy RSVP extensionAutoVaderHackvertor history and tag finderShadow Repeater v1.2.3 releaseBurp Hackvertor v2.1.24 releaseHacking roomsXSSing TypeErrors in SafarivalueOf: Another way to get thisMaking the Unexploitable Exploitable with X-Mixed-Replace on FirefoxThe curious case of the evt parameterCSS-Only Tic Tac Toe ChallengeRewriting relative urls with the base tag in SafariBypassing DOMPurify with mXSSNew IE mutation vectorHow I smashed MentalJSMentalJS DOM bypassAnother XSS auditor bypassXSS Auditor bypassBypassing the IE XSS filterUnbreakable filterMentalJS bypassesmXSSJava SerializationBypassing the XSS filter using function reassignmentRPOSandboxed jQueryX-Domain scroll detection on IE using focusEpic fail IEnew operatorDecoding complex non-alphanumeric JavaScriptHacking FirefoxDOM ClobberingBypassing XSS AuditorThe evolution of codeNon-Alpha PHP in 6-7 charsetTweetable PHP-Non AlphaMentalJS for PHP

    Unusual XSS vectors

    By Gareth Heyes (@hackvertor)

    Published 18 years 9 months ago • Last updated March 22, 2025 • ⏱️ < 1 min read

    ← Back to articles

    I've been working on my Hackvertor script to include XSS fuzzing which isn't ready yet but I thought you might be interested in a few interesting results I've found :)

    First off I'm sure you know you can use XSS in a img object yeah? Well did you know there's also a image object as well? It can be used like this:-

    <pre lang="javascript"> &lt;image src="" onerror="alert(/XSS/)" /&gt; </pre>

    Pretty neat eh? It may get round some XSS filters. It's not in RSnake's cheatsheet after a quick check.

    Next up you can even inject Javascript into paragraph tags or obscure html tags like the following:-

    <pre lang="javascript"> &lt;p onmouseover=alert(/XSS/)&gt;Some very long paragraph goes here.&lt;/p&gt; </pre>

    Or what about this:-

    <pre lang="javascript"> &lt;var onmouseover=alert(/XSS/)&gt;Some very long paragraph goes here.&lt;/var&gt; </pre>

    Many other tags are supported using this method. That is all for now I hope you enjoyed this little post, I shall release my fuzzing research once the features have been completed in Hackvertor.

    ← Back to articles