《网络攻防》 第十二周作业 SQL注入
SQL注入实践
1.打开seed虚拟机,使用命令sudo service apache2 start
启动apache,发现一条提示,意思就是不能可靠地确定域名,如图
即使右下角标着OK,但我还是不放心,但是,别人配置好的环境,不可能一上来就出问题啊!提示说用回送地址访问服务器,我就想,没域名也没关系,有ip就行了,反正发明域名的原因就是ip不好记,直接用ip皆可以了,然后,果然是可以的。
2.关闭对抗措施,建议使用sudo gedit php.ini
,gedit有图形化,sudo是为了有权限保存。
SELECT语句注入
题目要求是在不知道用户名密码的情况下,利用SQL注入漏洞登录进系统。
解决思路
- 初步的想法: 题目中给了包含SQL语句的登录源码,利用SQL注入的基本原理(教材P446-447),用OR+永真式通过用户名认证的检测,密码认证需要先经过MD5,我就想找到一个经过MD5哈希后内容为OR+永真式的字符串。
- 答案的做法: 答案的是在用户名输入
ted'#
,密码空着就行,ted是一个已经存在的用户名,用单引号结束这个字符串,用#转义掉后面的语句。获取用户名也很容易,直接点击memberlist就可以看到用户列表。 - 看了的答案之后的想法: 利用SQL中的注释,将后面的语句注释掉,替代#的作用,SQL中单行注释是--,后面最好加个空格,即输入
bob'--
,bob也是一个已知的用户名,经验证也是可以的。 - 一个新的发现: 只在用户名出输入单引号,会使这条SQL语句错误,或者其他使这条语句错误的方法,系统会报错并返回发生错误的源码,即可得到题目中给出的源码,如图,
也就是说,可以不用任何提示,就可以得到源码,并分析出漏洞。
UPDATE语句注入
题目要求在profile里面,在不知道其他人密码的情况下修改其资料。这个题没答案,只能自己做了。
解决思路
- 找到注入点: 在可供我们填写的框中,有四类:邮箱、密码、个人资料、时间格式。系统会对邮箱进行格式验证,会对密码记性MD5处理,这两处肯定不行。个人资料会被直接存入,不构成SQL语句字段。前三处我试了下,果然都不行,只有最后一处时间格式。
- 获取更新资料的SQL源码: 仿照SELECT注入的思路,在时间格式处输入是SQL语句产生错误的语句,等待其返回SQL语句源码,如图,
返回的SQL语句如图,
从这条语句可以看出,前面修改资料的各项也都是可以注入的(除了signature项),打脸了。那么就随便找个注入吧,结果发现,这些注入点对输入长度有限制,只能改短注入语句。注入语句如图,6为ted的编号,可通过memberlist查到
注意,实际的id编号是比在memberlist中大1的,ted在memberlist中编号为5,这点我是在错误语句中发现的,下图为我的memberlist截图,
选取的注入点为Interest输入框,这样就好改前面的语句,而且该框允许输入的内容较长,填写如图,
提示修改成功,没来的及截图,查看ted资料,修改成功,如图
《网络攻防》 第十二周作业 SQL注入的更多相关文章
- 2017-2018-1 《Linux内核原理与设计》第十二周作业
<linux内核原理与设计>第十二周作业 Sql注入基础原理介绍 分组: 和20179215袁琳完成实验 一.实验说明 SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这 ...
- 2017-2018-2 20179205《网络攻防技术与实践》第十一周作业 SQL注入攻击与实践
<网络攻防技术与实践>第十一周作业 SQL注入攻击与实践 1.研究缓冲区溢出的原理,至少针对两种数据库进行差异化研究 缓冲区溢出原理 在计算机内部,输入数据通常被存放在一个临时空间内, ...
- 2019-2020-1 20199329《Linux内核原理与分析》第十二周作业
<Linux内核原理与分析>第十二周作业 一.本周内容概述: 通过编程理解 Set-UID 的运行机制与安全问题 完成实验楼上的<SET-UID程序漏洞实验> 二.本周学习内容 ...
- 第十二周作业_PSP总结报告
回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学 ...
- 2019春第十二周作业Compile Summarize
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 这里 我在这个课程的目标是 能按自己的想法解出题目 这个作业在那个具体方面帮助我实现目标 能朝着软件工程师方向发展 参考文献与网址 C语言 ...
- 2017-2018-1 20179215《Linux内核原理与分析》第十二周作业
Sql注入基础原理介绍 分组:和20179205王雅哲共同完成实验 一.实验说明 1.1 sql注入 SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组 ...
- 20169211《Linux内核原理及分析》第十二周作业
Collabtive 系统 SQL 注入实验 实验介绍 SQL注入漏洞的代码注入技术,利用web应用程序和数据库服务器之间的接口.通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串, ...
- C语言第十二周作业
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪 https://edu.cnblogs.com/campus/zswxy/computer-scienceclass3-2018/h ...
- 集美大学网络1413第十二次作业成绩(个人作业3) -- Alpha阶段个人总结
题目 个人作业3--个人总结(Alpha阶段) 优秀作业链接:**068 未交:**087 个人作业3成绩 学号 姓名 总结(4) 5个问题(2.5) 自我评价(2.5) 博客互动 (1) 总分(10 ...
随机推荐
- HDU 5776
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5776 求是否有区间的和是m的倍数 预处理前缀和,一旦有两个数模m的值相同,说明中间一部分连续子列可以组 ...
- J2EE分布式服务基础之RPC
一.RPC介绍 什么是RPC 远程过程调用(RPC)是一个协议,程序可以使用这个协议请求网络中另一台计算机上某程序的服务而不需知道网络细节. RPC模型 C/S模式 基于传输层协议 (例如 TCP/I ...
- ubuntu 迁移部分 / 目录下的存储空间到 /home目录
状况:当时给系统分区的时候,home和根目录都是25GB左右,突然发现home 目录不够用了,于是决定进行将根目录的部分空间挪移到home下去 主要方法:使用Gparted的LIve USB的方法. ...
- flask之全局对象
from flask import current_app, g g is a special object that is unique for each request. It is used t ...
- Win10 Bash更改默认用户
Win10已经支持Ubuntu的Bash了. 在cmd中输入bash就可以进入bash界面.但此时是普通用户登录的. 如果希望更改默认的登录用户,可以在cmd中更改. 具体的命令是: lxrun /s ...
- 蓝桥杯 基础练习 BASIC-14 时间转换
基础练习 时间转换 时间限制:1.0s 内存限制:512.0MB 问题描述 给定一个以秒为单位的时间t,要求用“<H>:<M>:<S>”的格式来表示这个时间 ...
- uboot中的TEXT_BASE
转载:http://blog.csdn.net/xxblinux/article/details/6281295 我们都知道U-BOOT分为两个阶段,第一阶段是(~/cpu/arm920t/start ...
- MySQL 数据库 练习题
一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号和平均成绩: 4.查询所有 ...
- Python函数(一)-return返回值
定义一个函数可以在最后加上return返回值,方便查看函数是否运行完成和返回函数的值 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR&qu ...
- Java之——java.lang.NoSuchMethodException: [org.springframework.web.multipart.MultipartFile;.()
转自:https://blog.csdn.net/l1028386804/article/details/65449355 ava.lang.NoSuchMethodException: [org.s ...