asp.net 安全--sql注入 数据库安全
1、通过写入 OR 1=1 等等形式进行注入 OR 1=1 '--- 这个写法使得后面的内容被去掉,比如 select * from News where uu='' or 1=1 '--- and uuu='' 后面将被省略
2、为了获取整个数据表的表结构 使用 hava 1=1
3、可通 union select sum(username) from logins-- 来获取某个字段的类型
4、通过'; insert into logins values('yourUsername', 'yourPassword')-- 可以插入一个新的用户
5、可以在页面形成XML形式的所有用户列表 ' union select (select * from logins for xml auto), '' from logins -
6、SQL注入的详细内容 http://www.ngssoftware.com/papers/advanced_sql_injection.pdf .
7、防止sql注入使用的办法 parameterized queries or stored procedures
8、打开SQLServer-->安全性-->登录名-->新建登录名-->windows身份验证->>搜索到可以登录的用户。
这样就能实现Server=.\SQLExpress;AttachDbFilename=|DataDirectory|database.mdf;
Trusted_Connection=Yes; 注意最后一个属性 。本访问实例中通过WINDOWS验证实现。
Never dynamically build SQL querie s — . Dynamic queries are a vector for SQL injection.
Always use SQL paramete r.s— SQL parameters will automatically escape dangerous
characters and help you void SQL injection.
Control access to your dat .a— If you can, use stored procedures and SQL permissions to
limit access to the underlying database. If you cannot use stored procedures, use updatable
views to limit access to the underlying database. Stored procedures are not a panacea
because they can, in turn, contain dynamic SQL themselves.