基础问题回答
SQL注入攻击原理,如何防御:
部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,黑客利用这个bug在数据输入区恶意填入脚本,当数据被传回后台,黑客所填入的脚本语句被运行,使得黑客可以随心所欲的对后台熟即可进行操作;
程序员在编写代码的时候,一定要记得对用户输入数据的合法性进行判断。将存有敏感信息的数据库放在防火墙内部;
XSS攻击的原理,如何防御:
XSS的全名是:Cross-site scripting,为了和CSS层叠样式表区分所以取名XSS。是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。XSS攻击的主要目的则是,想办法获取目标攻击网站的cookie,因为有了cookie相当于有了seesion,有了这些信息就可以在任意能接进互联网的pc登陆该网站,并以其他人的生份登陆,做一些破坏;
程序员应该防止下发界面显示html标签,把</>等符号转义。
CSRF攻击原理,如何防御:
即跨站请求伪造(Cross Site Repuest Forgery),是XSS的一个分支。跨站请求伪造是一种让受害者加载一个包含网页的图片的一种攻击手段。如下代码所示:当受害者的浏览器试图打开这个页面时,它会使用指定的参数向www.mybank.com的transferFunds.do页面发送请求。浏览器认为将会得到一个图片,但实际上是一种资金转移功能。
实践过程
- (1)首先打开kali,输入命令
systemctl start apache2
,打开apache.接着输入nestat -aptn
查看端口号,在这里我没有将端口号修改为我的学号,用的是80端口。如果想要将端口修改自己学号,可以输入vi /etc/apache2/ports.conf
更改apache2的监听端口号。 - (2)在浏览器中输入127.0.0.1:80,查看Apache是否正常运行:
- (3)输入
cd /var/www/html
进入apache的工作目录下,新建一个.html
文件,我是以自己的学号命名。
- (4)我们尝试输入用户名密码后,会出现Not Found错误
- (5)所以我们还需要新建一个php文件
- (6)打开浏览器访问localhost:80/文件名.html,之后输入用户名密码点击提交。成功跳转到自己刚刚写好的网页:
- (7)之后我们可以在前面做成功的基础上,完善一个web前端javascript
- (8)测试修改后的成果
Web后端:MySQL基础
- (1)输入
/etc/init.d/mysql start
启用MySQL;输入mysql -u root -p
进入MySQL;默认密码为:[email protected]
- (2) 输入
CREATE SCHEMA TestLogin;
创建一个数据库TestLogin;再依次输入以下命令创建数据库和新表:1.use fhn;
2.create table fhn(username VARCHAR(20),password VARCHAR(32),telephone 3.VARCHAR(11));
- (3)接着输入以下命令来填充表中的数据
insert into 表名
values(‘值1‘,‘值2‘,‘值3‘...);
使用select * from 表名;查询表中的数据:
- (4)接下来对php进行改编:
- (5)用之前的前端打开输入密码,由于我之前的密码为123,这次修改后有了长度限制
- (6)修改符合的密码后成功
- ()
- ()
- ()
- ()
- ()
- ()
- ()
原文地址:https://www.cnblogs.com/20145237fhn/p/9071244.html