20145217《网络对抗》web基础

news/2024/7/24 3:30:15 标签: php, 数据库

20145217《网络对抗》web基础

一、问题

  • 1.什么是表单?

表单:可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本)。不使用处理脚本就不能搜集表单数据。

  • 2.浏览器解析语言?

超文本标记语言:HTML
可扩展标记语言:XML
脚本语言:ASP、PHP、Script、JavaScriptJava、JSP

  • 3.WebServer支持哪些动态语言?
    ASP、PHP、JSP

二、进行实验

1.做一个简单的登陆网站

  • 1.更改监听端口号,打开apahce,并查看端口号,确认apache正确开启,如下图所示:

886760-20170508183647863-11711712.jpg

  • 2.编写一个简单的html,并用浏览器打开查看效果,好丑呀



    jokebright


    user:
    password:
    auto





886760-20170508183652301-1986967075.jpg

  • 未输入密码:

886760-20170508183700394-432197646.jpg

  • 正确输入并提交显示:

886760-20170508183731676-1710757833.jpg

  • 3.编写一个简单的php,并用浏览器打开查看效果

886760-20170508183735785-911256629.jpg

886760-20170508183739660-1653952389.jpg

  • 4.打开mysql,初始密码为p@ssw0rd,并查看已经有的数据库

886760-20170508183743926-338166655.jpg

  • 5.修改密码,mysql连自己的用户名密码都用数据库来存着?看来数据库是从里到外

886760-20170508183748004-1335494992.jpg

  • 6.新建数据库create database或者schema都行,后面直接跟名称,愿意用`符号包裹也成

886760-20170508183754894-2052610410.jpg

  • 7.新建表单,包括表单名元素等等,并输入几组数据以供后续实验

886760-20170508183810066-276209814.jpg

886760-20170508183817019-598446908.jpg

  • 8.html可以采取拿来主义,老师提供的php内容主要以下几个方面需要注意,一是表单名要改,二是ip要改,三是登陆mysql的用户名密码要改,四是数据库名要改。

886760-20170508183823957-1717775356.jpg

886760-20170508183830722-400299023.jpg

  • 9.登陆网站查看效果,输入用户名密码后跳转,用户名密码正确时成功,不正确失败

886760-20170508183837754-1472689682.jpg

886760-20170508183845738-1452675233.jpg

886760-20170508183851863-395702698.jpg

  • 跳转界面丑可以再拿来一个,至此网站就准备好了

886760-20170508183900410-833724553.jpg

2.SQL注入

  • 1.使用上课讲到的例子' or 1=1#永真式来注入,成功,这是因为注入后的查询SQL语句是:SELECT * FROM users where username='' or 1=1#' and password=password('');构成了恒成立的条件

886760-20170508183906176-1032423134.jpg

886760-20170508183912285-1570728533.jpg

  • 2.同样的思路也可以通过sql注入保存用户名密码到数据库:';insert into users(userid,username,password,enabled) values(17,'zzz',password("aaa"),"TRUE");#,但是页面跳转是空白页,以本代码会使if ($result = $mysqli->query($query_str))成立不了,对代码进行如下修改

886760-20170508184122363-1619889016.jpg

  • 再次输入输入后跳转到这样一个界面

886760-20170508184146582-1357662372.jpg

  • 为了查看注入是否成功,直接搜出来看下user这张表,显然成功了

886760-20170508184153051-1102480947.jpg

  • 用注入的用户名密码登陆下,发现虽然代码修改使注入,但是也使得输入用户名密码后新的条件成立不了,对代码再次修改

886760-20170508184200379-846116918.jpg

886760-20170508184206519-547300208.jpg

  • 3.修改后进行注入实验成功

886760-20170508184218613-1808221541.jpg

3.XSS攻击

  • 1.1.输入5217.jpghaha先进行简单的测试

886760-20170508184223910-523957631.jpg

  • 跳转到这张图片

886760-20170508184228551-273161367.jpg

转载于:https://www.cnblogs.com/jokebright/p/6826890.html


http://www.niftyadmin.cn/n/1257877.html

相关文章

redis配置认证密码以及远程访问

配置认证密码: 通过配置文件进行配置 redis配置文件 redis.conf 中,打开配置文件找到#requirepass foobared 去掉行前的注释,并修改密码为所需的密码,保存文件requirepass 此处为设置的密码 重启redis 远程访问: redis配置文件 redis.conf 中&#xff0c…

神奇的 Object.defineProperty

解析 神奇的 Object.defineProperty 时间 2016-01-21 21:14:40 SegmentFault原文 http://segmentfault.com/a/1190000004346467主题 JavaScript这个方法了不起啊。。vue.js和avalon.js 都是通过它实现双向绑定的。。而且Object.observe也被草案发起人撤回了。。所以definePro…

npm查找依赖包版本

npm查找依赖包版本列表并安装指定版本 因前端提交版本迭代需由运维安装指定版本依赖包$ npm view [packagename] versions执行安装$ npm i [packagenameversion]

python邮件

解读Python发送邮件 Python发送邮件需要smtplib和email两个模块。也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单。今天,就来好好学习一下使用Python发送邮件吧。 SMTP是发送邮件的协议,Python内置对SMTP…

Kubernets安装Helm

下载程序包 https://github.com/helm/helm/releases 解压后将执行文件拷贝至/usr/bin/下 创建RBAC [rootmaster01 helm]# vim rbac-config.yaml apiVersion: v1 kind: ServiceAccount metadata: name: tiller namespace: kube-system apiVersion: rbac.authorization.k8s.io/…

DIY 作品 及 维修 不定时更新

手机电池DIY充电宝 2块,优质手机电池加一个升压ic ,焊上一个 usb 母头。比买的强多了。 还能调压,最高调到24V 可以带白光焊台。 更换手机 SIM/SD 卡二合一 贴上高温胶带,吹下来。 分离好了,清理焊盘,涂助焊…

Centos7离线安装Harbor镜像仓库

注意事项 1.为系统划分独立分区:/var–容器、/data–镜像。 2.harbor生产环境请勿使用默认密码。 2.1 安装docker 下载镜像源:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装:yum makecache && yum instal…

SpringBoot 自定义Banner

在2016年的最后一天,借用Spring Boot的Banner向各位程序猿同仁们问候一声:Happy New Year。 接下来我们就来介绍一下这个轻松愉快的自定义banner功能。实现的方式非常简单,我们只需要在Spring Boot工程的/src/main/resources目录下创建一个ba…