攻防世界WEB进阶之FlatScience

攻防世界WEB进阶之FlatScience


FlatScience
难度系数: 1星
题目来源: Hack.lu-2017
题目描述:暂无
题目场景: 略
题目附件: 暂无

一、分析

点击打开场景,发现都是文件下载的内容,是几篇英文文献
上一题有用到的robots.txt,构造一下http://IP:端口/robots.txt
果然有重要内容:
在这里插入图片描述

二、实操

分别进入像个网站,发现有一个是默认是admin账号,尝试使用admin账号进行登录,但是并没有什么反馈
然后尝试使用admin账号在login页面进行登录
测试了很多数据发现输入admin’时会出现报错
在这里插入图片描述
根据报错SQLLite3找到对应的查询数据库的代码
代码:


    CppSQLite3Queryquery = db.execQuery("select * fromtarget_table");
        while(!query.eof())
        {
            cout<<"name:"<<query.getStringField("name")<<"age : "<<query.getIntField("age")<<endl;
            query.nextRow();
        }
        query.finalize();

CppSQLite3Query是一个查询返回对象,查询完后可以利用此类。这里就使用CppSQLite3DB的一个函数

execQuery,只要将查询sql传入即可。

eof函数:判断是否还有数据;

nextRow函数:移到下一条记录;

getStringField函数:获得相应字段的内容,以字符串形式返回;

getIntField函数:获得相应字段的内容,以整形形式返回。
通过分析此处应该存在SQL注入

注意我们在进行漏洞查找的过程中应该要结合浏览器的开发工具一起进行,发现网址泄露了某些参数或者网址,根据GET请求,我们能够迅速判断是参数
在这里插入图片描述
构造?debug参数出现源码泄露

找到关键代码SQL语句:

"SELECT id,name from Users where name='".$user."' and password='".sha1($pass."Salz!")."'"

通过SQL语句注入构建我们设计出如下查询的SQL语句:

' union select  name,sql  from sqlite_master--

然后查询到返回包里面有Set-Cookie字段
在这里插入图片描述
+CREATE+TABLE+Users(id+int+primary+key,name+varchar(255),password+varchar(255),hint+varchar(255))

构造查询密码的SQL:usr=%27 UNI

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值