攻防世界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字段

### 推荐的网络安全攻防 Web 学习资源 以下是几个推荐的学习资源,这些资料可以帮助初学者了解网络安全攻防的基础知识并逐步深入: #### 1. **Web 安全基础** - 可以从一份名为《Web安全攻防入门教程》的内容入手,它提供了关于 Web 安全的基础概念、常见的攻击类型及其防御技术的详细介绍[^1]。此教程适合那些刚开始接触 Web 安全领域的人。 #### 2. **系统化的学习路径** - 对于更全面的知识体系,《网络安全入门 5 天速成教程-WEB 安全渗透攻防技术》是一个不错的选择。该文档不仅包含了网络协议分析,还涉及漏洞利用和内网渗透等方面的技术细节[^2]。这份笔记经过精心整理,能有效减少学习过程中的混乱感。 #### 3. **综合性的网络安全指南** - 如果想进一步扩展视野,则可以参考《网络安全攻防:概述》,其中除了涵盖基本的安全法规外,还包括了渗透测试技巧、具体漏洞解析等内容[^3]。这对于构建完整的网络安全知识框架非常有帮助。 #### 4. **实践导向的演练材料** - 关于如何实际操作层面提升自己的技能水平,《网络攻防演练.网络安全.学习》这篇文章给出了很好的指导方向。文章强调通过模拟真实环境下的攻击行为来进行训练,并指出哪些方面需要特别注意[^4]。 ```python # 示例代码展示简单的SQL注入防护措施 def safe_query(user_input): sanitized_input = escape_special_characters(user_input) # 使用函数转义特殊字符 query = f"SELECT * FROM users WHERE username='{sanitized_input}'" return execute(query) def escape_special_characters(input_string): special_chars_map = { "'" : "''", "\"" : "\"\""} escaped_str = input_string.translate(str.maketrans(special_chars_map)) return escaped_str ``` 上述 Python 函数展示了防止 SQL 注入的一个简单例子,体现了理论联系实际的重要性。 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值