Es cuando atraves del DOM puedes hacer ejecución de código, por ejemplo digamos que la url dice:
http://test.com/#buscarAhora la palabra buscar puede ser utilizada para pasarla como parámetro en un buscador, pero que pasa si dentro de el código javascript hay un fallo que permite la ejecución de código?
http://test.com/#buscar');alert('0
podrías ejecutar código, inyectar variables, etc. todo depende de como esté hecho el script.
Un ejemplo práctico:
https://foro.elhacker.net/noticias/cross_site_scripting_en_jquery_16-t338686.0.htmlhttp://ma.la/jquery_xss/#<img src=/ onerror=aler(1)>Al final, es un xss, solo que la inyección no se escribirá en el código que entrega el servidor sino que juegas con lo que hay sin la necesidad de que el mismo servidor te entregue un código defectuoso.
Esto es útil en el caso de servidores con sistemas de protección y filtros como phpids y auditorias snort.