C11
作业1
使用Burp的Discover Content功能爬取任意站点的目录,给出爬取过程的说明文档、站点树截图;
1、以DVWA靶场为例
2、使用burp自带的Discover Content功能爬取任意站点的目录
打开burp监听,访问指定目标
3、选择目标
查找你需要探测的目标,右键
4、配置
一般配置默认,如果有需求可以按照自己的改
5、开始
6、结束
爬取完就有对应目录
作业二
使用Burp联动Xray对DVWA站点进行扫描,输出扫描报告;
实现功能:通过访问互联网地址,实现burp抓包发回给xray;
Burp:配置上有代理服务器,主要为了实现https抓包处理
Burp:配置重定向
Xray:开启监听端口
1、配置burp重定向
127.0.0.1:8080浏览器访问包会给8080
设置重定向代理服务器
127.0.0.1:777 burp放包后会给监听777端口的流量
2、配置上游代理服务器
https需要单独配置上游代理服务器
*代表全部,包含指定的的全部域名,转发给777端口
3、配置xray
xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output 1.html
Webscan:web扫描
–basic-crawler:爬虫
–html-output:指定生成报告的格式
开启7777端口监听
4、抓包
通过访问“burp”代理修改包的内容,放行反馈给“xray”
xray已开启监听
xrar介绍
是一个比较强大的扫描工具,以解决扫描流量被安全设备拦截;
一款半开源的功能强大的安全评估工具,支持主动扫描和被动扫描(主要核心被动扫描)
快速开始 - xray Documentation(网站)
下载地址:
Github: https://github.com/chaitin/xray/releases (国外速度快)
CT stack: https://stack.chaitin.com/tool/detail?id=1 (国内速度快)
用户操作文档:
作业三
老李今年52岁了,他最近也在学习网络安全,为了方便练习,他在DVWA靶场中增设了一个自己的账号,密码就是他的生日,请你想办法破解出他的账号密码;
1、收集情报
在已知情报中,老李52岁,为了方便联系,新增了一个自己账号,密码是他生日
2、爆破
可以通过excel刷选如:19730101
通过burp抓包
放入爆破模块
导入密码字典
开始爆破
根据字段长度来确定返回结果
登录成功
作业四
在不依赖于DVWA后端数据库的情况,如何通过前端验证的方法判断DVWA中的注入点是数字型注入还是字符型注入?(提示:用假设法进行猜想判断)
1、查看是否存在报错
?id=1'
输入1’是为了查看是否与数据库有交互,输入一个“单引号”如果闭合不了,就会引起报错,但是无法确定到底是不是注入点,因为系统可能做了别的“额外处理”
如果存在报错,则使用and 1=1继续验证是否存在和注入类型
有注入:elect * from table where id=1 and 1=1 能查出来
没有注入:1 and 1=1,整体是个字符串交给数据库查,数据库不存在1 and 1=1这么一个数值,所以查不出来
2、继续验证
?id=1 and 1=1
and 1=1是为了继续验证该点是否存在注入,且注入的类型
and 1=1是为了测试数字类型注入,我们且当成数字注入,查看是否有内容回显,如果能查出内容则尝试 and 1=2
因为and 1=1左右为真,为真则能查出语句
3、为真
URL:www.text.com/text.php?id=1 and 1=2
如果不存在注入,我输入的1 and 1=2 作为一个整体,它作为一个值交给数据来查询,而数据不会吧1 and 1=2作为一个值来进行处理查询
真且假,条件为假,在输入就不会查询到内容,如果成立则判断为数字型注入。
个人理解:如果不存在sql注入,无论是and 1=1还是1=2都会被后台当作字符串来处理,但是如果and 1=1能查出数据则代表后台并没有当成字符串来处理,因为“真且真”=真,所以能查出内容,而1=2“真且假”=假,所以被当成字符串来做了处理
“and 1=1 能查出数据代表没当作字符串”:
错误。能查出数据的本质是 输入被解析为 SQL 条件(如拼接进 where 子句),导致逻辑改变,这正是 SQL 注入的特征,而非 “是否当作字符串” 的判断依据。即使输入被当作字符串(如参数化查询),也可能查到数据(如果数据库中存在该字符串值),但此时输入不影响逻辑。
1’报错 1 and 1=1 能查出内容 1 and 1=2 查不出内容 (数字型注入)
1=2 为假所以被当作字符串”:
错误。在注入场景中,and 1=2 的结果为空,是因为条件为假,而非 “被当作字符串”;在安全场景中,无论输入真假,都会被当作字符串,结果只取决于是否存在该字符串值。
在DVWA中输入 1 and 1=2也会有回显输出,而在“数字型”中 1 and 1=2则为空,是因为网站做了“单引号的操作”而有回显的原因是因为“隐式转换”它自动识别字符串的第一个字符,但是一定要是int类型。