1. php SQL注入攻击
这是服务器端的魔法引号。你可以看看你的magic_quotes_gpc是否开启状态,如果开启了,所有的引号会被自动转义,防止此类SQL注入。
另外,就算没有开启魔法引号,PHP脚本里面也可以通过addslashes对$_GET、$_POST、$_COOKIE等等作转义处理,也就是在引号前加上“\”转义符号,防止此类SQL注入。
至于攻击的方法,这条SQL在我看来还是很安全的,从别的地方下手吧~~~
2. html或php代码怎么写攻击的,就是,一个正常网站,背后一直在攻击一个IP,求代码(虚拟空间的)
很容易,curl可以实现,命令行ping也可以实现,html是xss攻击,
3. 如何防止代码注入攻击在PHP
一,HTML防注入。
一般的html注入都是在字符串中加入了html标签,用下JAVA代码可以去掉这部分代码。
代码如下,自己封装成方法即可。
String msge = "asdasdasdasd <div id=\"f\">asdfsdf";
System.out.println(msge);
msge = msge.replace("&", "&");
msge = msge.replace("<", "<");
msge = msge.replace(" ", " ");
msge = msge.replace(">", ">");
msge = msge.replace("\"", """);
msge = msge.replace("'", "&qpos;");
System.out.println(msge);
二、防SQL注入
最简单最容易的是限制用户输入。
简单点的就是不允许用户输入单引号 和 --,因为单引号号--在SQL中都是影响执行的。
但SQL注入是多方面的,防止的方法也有很多种。
1、地址栏禁止特殊字符防SQL注入
把特殊字符(如and、or、'、")都禁止提交就可以防止注入了。
2、php过滤html字符串,防止SQL注入
批量过滤post,get敏感数据
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
数据过滤函数
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var);
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
3、替换HTML尾标签
function lib_replace_end_tag($str)
{
if (empty($str)) return false;
$str = htmlspecialchars($str);
$str = str_replace( '/', "", $str);
$str = str_replace("\\", "", $str);
$str = str_replace(">", "", $str);
$str = str_replace("<", "", $str);
$str = str_replace("<SCRIPT>", "", $str);
$str = str_replace("</SCRIPT>", "", $str);
$str = str_replace("<script>", "", $str);
$str = str_replace("</script>", "", $str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$str=str_replace("&","&",$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("&",chr(34),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("<br />",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("css","'",$str);
$str=str_replace("CSS","'",$str);
return $str;
}
三、专业的事情交给专业的工具去做。
安装安全软件。例如,在服务器中安装“服务器安全狗”,可以设置防注入,防攻击的设置,只要设置好安全规则,就可以屏蔽大多数攻击入侵。
4. php的网站主要攻击方式有哪些
常见攻击方式:1、命令注入,2、eval注入,3、客户端脚本攻击,4、跨网站脚本攻击,
5. php 简单的程序设计(轮流攻击)
胡乱写了个简单程序,不过测试程序的时候发现,你的伤害计算有很大的问题。
上面说道:实际伤害=A部队攻击力-B部队防御力
那么攻击最高的骑兵攻击是30,打在防最低为5的弓兵身上,那么伤害等于30-5=25,这里倒是没多大问题,但是又看
实际伤害/B部队单位血量=本次攻击杀死敌兵数量,余数进位.
那么杀死弓兵的数量就等于25/200=0.125 按余数进位也就是1而已 0.125已经是里面最大的伤害了,所以造成每次无论任意兵种攻击任意兵种,死亡的单位都是1.
附程序(没怎么思考,期待楼下更精简的算法):
<?php
//初始化团队
$team_a=array(
"5"=>set_c("军团A骑兵甲","cavalry"),
"11"=>set_c("军团A弓兵甲","archer"),
"14"=>set_c("军团A弓兵乙","archer"),
"8"=>set_c("军团A步兵甲","infantry"),
"7"=>set_c("军团A步兵乙","infantry")
);
$team_b=array(
"8"=>set_c("军团B骑兵甲","cavalry"),
"9"=>set_c("军团B骑兵乙","cavalry"),
"13"=>set_c("军团B弓兵甲","archer"),
"5"=>set_c("军团B步兵甲","infantry"),
"10"=>set_c("军团B步兵乙","infantry")
);
//按速度对团队进行排序
$team_a=spe_sort($team_a);
$team_b=spe_sort($team_b);
//初始化战斗单位
function set_c($name,$type){
//初始化兵种 infantry 步兵 archer弓兵 cavalry骑兵,兵种=>(攻,防,HP,速度,数量).
$arm=array(
"infantry"=>array("tak"=>20,"def"=>10,"hp"=>250,"spe"=>"20|24","amo"=>120),
"archer"=>array("tak"=>25,"def"=>5,"hp"=>200,"spe"=>"25|27","amo"=>100),
"cavalry"=>array("tak"=>30,"def"=>15,"hp"=>300,"spe"=>"28|30","amo"=>80)
);
$d=$arm[$type];
$d["name"]=$name;
$spe=explode("|",$d["spe"]);
$d["spe"]=rand($spe[0],$spe[1]);
return $d;
}
//速度排序
function spe_sort($array){
foreach($array as $key => $value)
{
$temp[$key] = $value['spe'];
}
arsort($temp);
foreach($temp as $key => $value)
{
$result[$key] = $array[$key];
}
return $result;
}
//战斗函数 $active=攻击团队 $passive=被攻击团队
function fight($active,$passive){
//目标选择规则
$targeting=array(7,4,10,1,13,8,5,11,2,14,9,6,12,3,15);
foreach($active as $k=>$a)
{ foreach($targeting as $t)
{
if(isset($passive[$t]))
{
$hurt=$active[$k]["tak"]-$passive[$t]["def"];
$kill=ceil($hurt/$passive[$t]["hp"]);
$passive[$t]["amo"]=$passive[$t]["amo"]-$kill;
echo "<font color='#0000FF'>".$active[$k]["name"]."</font> 攻击了 <font color='#0000FF'>". $passive[$t]["name"] ."</font>,共伤害<font color='#ff000'> $hurt </font>点,杀死<font color='#ff000'> $kill </font>个单位.剩余".$passive[$t]["amo"]."个单位</br>";
if( $passive[$t]["amo"]<=0)
{
echo "×<font color='#ff000'>".$passive[$t]["name"]."</font>被消灭了!</br>";
unset($passive[$t]);
if(!count($passive)){echo "<font color='#ff000'>该军团已全军覆没!战斗结束....</font>"; die();}
}
break;
}
}
}
echo "-------------------本回合结束,换对方攻击-------------------</br>";
fight($passive,$active);
}
echo "战斗开始!</br>";
fight($team_a,$team_b);
?>
6. thinkphp 网站怎么攻击
这种开源产品一般很难找到漏洞。即使找到了,一旦有人受到攻击,补丁马上就会出来
7. 如何使用php代码攻击网站
上传漏洞 注入漏洞 等
8. 如何攻击php网站,欺骗后台程序!高手指点!
大家都是同行,你却要干坏事!我不交你!
9. php下怎样防止XSS攻击
在PHP中修补XSS漏洞,我们可以使用三个PHP函数。
这些函数主要用于清除HTML标志,这样就没办法注入代码了。使用更多的函数是htmlspecialchars() ,它可以将所有的"<"与">"符号转换成"<" 与">;"。其它可供选择的函数还有htmlentities(), 它可以用相应的字符实体(entities)替换掉所有想要替换掉的特征码(characters)。
PHP Code:
<?
// 这里的代码主要用于展示这两个函数之间输出的不同
$input = '<script>alert(1);</script>';
echo htmlspecialchars($input) . '<br />';
echo htmlentities($input);
?>
htmlentities()的另一个例子
PHP Code:
<?php
$str = "A 'quote' is <b>bold</b>";
echo htmlentities($str);
echo htmlentities($str, ENT_QUOTES);
?>
第一个显示: A 'quote' is <b>bold</b>
第二个显示:A 'quote' is <b>bold</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 = '<p>Test 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, $mole_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手册来查看:
http://it.php.net/htmlentities
http://it2.php.net/htmlspecialchars
http://it2.php.net/strip_tags
10. 服务器被php-dos攻击,原因是什么
我以前也遇到过这种情况当时是服务器向外发包,流量占到了%100,当时机房都没有办法解决,无奈之下朋友告诉我,叫sinesafe来着他们专业做服务器安全和网站安全,我找了他们后,就把这个php dos攻击给解决了,他们给我说了原因是我服务器中一个PHP网站因为程序漏洞被黑客利用了,然后发动了 php dos攻击,和sinesafe合作了半年,服务器非常稳定安全,在也没遇到流量像外发包的攻击,真的很感谢他们,希望我的经历,能给大家尽量带来最少的损失。