好早之前的事情了,最近总结这半年的时候想起来,闲来无事,就发出来了。
当时学校xxx公司招新,找了一个教室,音响开的嗷嗷的简直不能忍,坐在对面教室的我义愤填膺的就进去瞅了瞅,仍然是IT招聘季,各种IT公司都在招人啊,然后就被宣讲的时候的礼品吸引住了,一等奖是一个iPad Air,二等奖是智能手环,天呐,这对于我等屌丝来讲简直是想都不敢想的事,于是干脆就坐下来打算抽奖(我就不信这次抽奖还抽不中o( ̄ヘ ̄o#))。
暖场视频一边放,一边跟我们讲怎么进行抽奖,大体就是微信抽奖类似的。发现了他们的网址120.24.65.115(现在已经失效了)
找到后台登录的地方,直接admin,admin,果然不行啊。
然后试着用万能密码,发现竟然有回显,呃,也是醉了
一切搞定,分析如下:
应该能够猜测出他的数据库查询应该是这样的:
select * from 表名 where 'user' = ' ' and 'pwd' = ' '
这条语句如果正确,那么就可以登陆到后台去,而我们通常所说的逻辑运算,or 只要有一个能够正确,那么这句话就是正确的,于是想到用or去闭合啊。
因为它用到“ ‘ ”,那么我们首先用一个'闭合前面的一个',然后使语句正确,所以使用 or 1=1 ,这个时候理论上来讲是应该用'闭合后面的一个',但是我最开始这样尝试,发现是不能绕过的,于是我尝试加上一个;来使这句话结束,然后用-- ,来讲后面的语句给注释掉,但是没有成功,所以还是老办法。
但是为什么 ' or 1=1 '为何不能成功了,语法有可能出错了,于是 需要再用一个or把后面出错的语句给去掉,然后再用'去闭合后面的一个’,所以才构造出这样的一句 万能密码:' or 1=1 or '‘
后来的后来,秉着正义之心什么都不做,然后等到开始抽奖的时候,我疯狂的摇着自己的手机,最终奖项全部被别人拿走了,oh yeah!