I would suggest to (1) break lines at the intersection, then (2) extract node.
(1) Break lines at the intersection
From QGIS Processing Toolbox, go to
GRASS GIS 7 | Vector and activate v.clean tool. There are several options in
Cleaning tool but please choose break.
(2) Extract node at the intersection
Again in the
GRASS GIS 7 | Vector tree, there is v.net.articulation tool. Start this tool and select the cleaned line layer (output from
v.clean) as input layer.
QGIS has another tool to extract nodes (
Vector geometry tools | Extract nodes), but this tool extract all vertices in the line layer... You'll end up with many unwanted points.