网络安全学习Day5

做一下DVWA中high级别的XSS,首先看一下源代码:

我们可以看到使用了php中的preg_replace函数进行正则替换。

$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.*>/","",$str);

上述两行代码的替换规则为:将str中以<开头,以>结尾中任意长度的字符替换为空格,其中的.代表任意字符;*号代表着任意个数;如果我们想设置有限的个数,可以做出如下的修改:

$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.{4}>/","",$str);

        其中的{4}代表着<>中有4个字符;

$str="acsdcs<55555555>sc<6666>sd<>cd";

echo preg_replace("/<[0-9]*>/","",$str);

//输出acsdcscd

echo "";

echo preg_replace("/<[0-9]+>/","",$str);

//输入acsdcsscsd<>cd

?>

        *号代表重复0次或者是n次;而+号代表着至少重复1次,所以在<>中至少要有一个数字,如果为空的话,则不进行替换。

$str="acsdcs<55555555>sc<6666>sd<>cd";
echo preg_replace("/<[0-9]?>/","",$str);//输出acsdcs<55555555>sc<6666>sdcd
?>

        然而这里的?是重复0次或者1次,超过1个数字的时候便不符合条件。

我们可以通过两种方法进行弹窗:

        1. <img src=1 οnerrοr=alert("xss");>

        2. <input οnfοcus="alert('xss');" autofocus>

常见加密(编码)特征总结        

        MD5:加密的结果是由32位数字和小写字母组成

        MD5(16位):加密的结果是由16位数字和小写字母组成

        SHA-1:加密结果由40位数字加小写字母组成

        SHA-256:加密结果由64位数字加小写字母组成

        SHA-384:加密结果由96位数字加小写字母组成

        SHA-512:加密结果由128位数字加小写字母组成

        URL编码:空格-%20;0~9-%30~%39;abcdegfhijklmnopqrstuvwxyz-%61%62%63%64%65%66%67%68%69%6A%6B%6C%6D%6E%6F%70%71%72%73%74%75%76%77%78%79%7A

        AES:由加密模式、填充、数据块、密码、偏移量、输出、字符集组成的。对应的解密是需要填充方式、数据块(可以进行手工测试),以及密码和偏移量(这两者是在加密的时候设置的)

        BASE64编码:密文长度随明文长度变化,密文由数字,大小写字母,和字符组成,常会出现==,+,=

        Unescape编码:abcd -> %u6261%u6463%u0a0d%u0000  %u0000表示明文长度为偶数 ,否则表示明文的长度为奇数

常见的加密方式包括:直接加密,带salt,带密码,带偏移量,带位数的,带模式,带干扰,自定义组合加密。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y4y17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值