SQL注入实战笔记
ACCESS注入
微软数据库, 后缀.mdb
优点
- 提高速度和减少代码量
- 你可以用几种技巧来提高你的编码速度,但是却找不到有效的算法的替代者。接下来的这几点建议可以提高你的编码速度同时又减少你的应用程序消耗的存储空间。
- 用整形数进行数学运算
- 即使Microsoft Access会使用一个联合处理器来处理浮点型算术,整型数算术也总是要快一些,当你的计算不含有小数,尽量使用整型或长整型而不是变量或双整型。整型除法同样也要比浮点除法要快。在使用其他一些有效的数据类型时会警告:没有任何东西可以替换有效的运算法则。
- 避免使用过程调用
- 避免在循环体中使用子程序或函数调用。每一次调用都因额外的工作和时间而给编码增大了负担。每一次调用都要求把函数的局部变量和参数压栈,而栈的大小是固定的,不能随便加大,并且同时还要于Microsoft Access共享。
缺点
- 数据库过大时,一般ACCESS数据库达到100M左右的时候性能就会开始下降!(例如:访问人数过多时容易造成IIS假死,过多消耗服务器资源等等)
- 容易出现各种因数据库刷写频率过快而引起的数据库问题。
3 . ACCESS数据库安全性比不上其他类型的数据库。
4 . ACCESS论坛大了以后就很容易出现数据库方面的问题,当论坛数据库在50M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库慢的情况。
注入点
1 | http://127.0.0.1:99/pro_detail.asp?id=30 |
判断注入点
1 | ' |
手工注入
1 | ### 判断数据库类型 |
MSSQLSever注入
微软数据库, 文件后缀.mdf 日志后缀log.lfd
数据库权限
- sa权限:数据库操作,文件管理,命令执行,注册表读取等 system
- db权限:文件管理,数据库操作等 users-adminstrators
- public权限:数据库操作 guest-users
jsp代码
1 | <% |
手注
1 | 1.判断是否有注入 |
MySQL注入
多个数据库名
手注同上
1 | 4.0以上有imformation_schema |
sqlmap
1 | sqlmap -u "http://xxx.com/serch.php?id=45" |
Oracle注入
1 | ## 判断注入点 |
PostgreSQL注入
1 | and 1 = cast(version() as int) |
提交方式注入
GET
?id=1
POST
表单提交
1 | 'or 1=1 登录 |
COOKIE
1 | ## 网站记录 |
参数注入
数字型
?id=1 'and 1=1 #
字符型
?name=客户 'and 1=1 #
搜索型
1 | like像通配符*sql通配符%% |
伪静态页面注入
形如:
- /index.php/xxx/id/1234.html
- /index.jsp/xxx/id/1234
- /showarticle_55.html
尝试拆解原请求页面成php?id=1234,在进行常规操作