不用引号的字符注入和XSS

  • A+
所属分类:网络安全

在字符型填字游戏中,'和"往往是决定能否跳出约束进行攻击的关键,于是出现鸟转义字符 \

,可以把' "变成残废....这恰恰帮助我们改变了字符内部结构

SQL Injection

在MYSQL中登陆界面

$db->query("Select * from a where username='$u' and pass='$p' ");

想到了万能登陆?但假设这里$u $p不让你输入' 那?

这时,我们让 $u为\  $p为 or 1=1#

$db->query("Select * from a where username='\' and pass=' or 1=1#' ");

OK搞定字符登陆without '

当然,只适用MYSQL,貌似坏坏的MS的数据库不给用转义字符....而且那啥magic必须为off,因为它对\也转义...........利用空间超超超小,就当是小小的猜想吧

Xss

变通一下

<script>

a="\";b="<script>alert()</script>//"

<script>

我不知是不是这样,不是的话当我没说.........

另,有时候如果系统把 " 转化 \" 那我们可以再来个\让它变成\\"   不过只转"而不转\的貌似没有吧..和那啥magic一样

总结

这归根结底是引号的有效无效问题(即能否用来闭合)

必须是多处字符输入,就象XSS中两个字符/* 和*/的配合

SQL Injection时可能没什么很大的利用价值

但感觉XSS用转义字符和注释的配合延伸应该有一定的利用空间- =