xss利用php文件(php的xss过滤代码)
修复php漏洞xss改那个文件
?php
$aa=$_GET['dd'];
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?
过滤原理:
首先要想执行js脚本那就让html解析那些是js脚本,诸如:
script type="text/javascript"alert("这里会被js执行");/script
所以要过滤script标签和/script
或者过滤‘’和‘’这两个符号
实现:
?php
$aa=$_GET['dd'];
$aa=str_replace('','lt;',$aa);
$aa=str_replace('','gt;',$aa);//以上两句是直接过滤''和''缺点其他便签不能用
echo $aa."123";//这里没有经过过滤就可以显示出来,导致的
?
总的来说就是过滤些"非法"标签
最近网上流行的XSS是什么意思
最近网上流行的XSS是小学生的恶称,骂小学生的。
一是指某些人的想法、思维方式、对事物的认知和思考能力如孩子般幼稚、单纯、天真。
二是特指某类相对于同龄的人,在游戏竞技或者社交 *** 中, 态度傲慢、技术水准较差、拒绝与队友沟通、独断专行、忽视团队合作、甚至喜欢恶语相向的网游玩家。
三是指对没有接触过社会或社会经验不足。
扩展资料:
1、小学生技术菜,爱骂人,玻璃心(说他一句就挂机送人头,不管说什么,比如:中路的你不要再送了,然后他就说“我就送”,接着就开始了。)小学生的心思就像星空,摸不着猜不透。
2、大喷子( *** 中对喜欢肆意谩骂、地域黑、招黑、互黑等网友的一种广泛性定义。),不分青红皂白就开喷。
3、说话不经过大脑考虑,以自我为中心,可能是在家被宠惯了。
4、没有接触过社会大家庭或接触社会经验不足。比如:参加工作,你要是不让新人上,永远都是新人。这也是小学生。
php下怎样防止XSS攻击
在PHP中修补XSS漏洞,我们可以使用三个PHP函数。
这些函数主要用于清除HTML标志,这样就没办法注入代码了。使用更多的函数是htmlspecialchars() ,它可以将所有的""与""符号转换成"" 与"gt;"。其它可供选择的函数还有htmlentities(), 它可以用相应的字符实体(entities)替换掉所有想要替换掉的特征码(characters)。
PHP Code:
?
// 这里的代码主要用于展示这两个函数之间输出的不同
$input = 'scriptalert(1);/script';
echo htmlspecialchars($input) . 'br /';
echo htmlentities($input);
?
htmlentities()的另一个例子
PHP Code:
?php
$str = "A 'quote' is bbold/b";
echo htmlentities($str);
echo htmlentities($str, ENT_QUOTES);
?
之一个显示: A 'quote' is bbold/b
第二个显示:A 'quote' is bbold/b
htmlspecialchars()使用实例
PHP Code:
?php
$new = htmlspecialchars("a href='test'Test/a", ENT_QUOTES);
echo $new;
?
显示: a href='test'Test/a
strip_tags()函数代替.删除所有的HTML元素(elements),除了需要特别允许的元素之外,如:i, b 或p.
strip_tags()使用实例
PHP Code:
?php
$text = 'pTest paragraph./p!-- Comment -- Other text';
echo strip_tags($text);
echo "\n";
// allow p
echo strip_tags($text, 'p');
?
现在我们至少已经知道有这些函数了,当我们发现我们的站点存在XSS漏洞时就可以使用这些代码了。我最近在我的站点上的GoogleBig(一个Mybb论坛的插件)视频部分发现了一个XSS漏洞,因此我就在想如何使用这些函数写段代码来修补这个搜索漏洞。
首先我发现问题出在search.php这一文件上,现在让我们看看这个查询及输出查询结果中的部分代码研究一下:
PHP Code:
function search($query, $page)
{
global $db, $bgcolor2, $bgcolor4, $sitename, $io_db, $module_url, $list_page_items, $hm_index;
$option = trim($option);
$query = trim($query);
$query = FixQuotes(nl2br(filter_text($query)));
$db-escape_string($query);
$db-escape_string($option);
alpha_search($query);
...
在这种情况下,我们通过使用$query这一值作为变量,然后使用htmlentities()这一函数:
PHP Code:
$query = FixQuotes(nl2br(filter_text(htmlentities($query))));
如果你对这三种函数还有有疑问可以使用PHP手册来查看:
xss攻击可以用其他脚本语言吗?比如PHP
xss针对前端,后端如果没进行过滤的话前端照样输出造成了XSS攻击
如何在php中修补XSS漏洞
你好,如果要修补xss漏洞,通用的一个做法是使用htmlspecialchars()函数。
使用该函数大概可以预防90%左右的xss左右的攻击,避免你的PHP程序受到攻击。
如何实现php的安全更大化?怎样避免sql注入漏洞和xss跨站脚本攻击漏洞
使用php安全模式
服务器要做好管理,账号权限是否合理。
假定所有用户的输入都是“恶意”的,防止XSS攻击,譬如:对用户的输入输出做好必要的过滤
防止CSRF,表单设置隐藏域,post一个随机字符串到后台,可以有效防止跨站请求伪造。
文件上传,检查是否做好效验,要注意上传文件存储目录权限。
防御SQL注入。
避免SQL注入漏洞
1.使用预编译语句
2.使用安全的存储过程
3.检查输入数据的数据类型
4.从数据库自身的角度考虑,应该使用最小权限原则,不可使用root或dbowner的身份连接数据库。若多个应用使用同一个数据库,也应该为数据库分配不同的账户。web应用使用的数据库账户,不应该有创建自定义函数,操作本地文件的权限。
避免XSS跨站脚本攻击
1.假定所有用户输入都是“邪恶”的
2.考虑周全的正则表达式
3.为cookie设置HttpOnly,防止cookie劫持
4.外部js不一定可靠
5.出去不必要的HTML注释
6. 针对非法的HTML代码包括单双引号等,使用htmlspecialchars()函数。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。