首页  >  问答  >  正文

php - 关于sql注入和xss的具体实例分析

一个月前我的个站被攻击了,然后今天收到了一份来自360的漏洞检测报告,我的天360还干这种事?

我在写入数据库时有使用addslashes为什么还会被注入?链接1和链接2要合在一起才会被注入吗?
对于第二个漏洞,我不太清楚应该怎么防御。
对站点安全研究不深入,请教大家给分析一下这是怎么实现的,以及如何修复漏洞,谢谢。
如果需要写入数据库的代码我再贴上。

PS,写链接会被sf自动缩短,所以在http:后面都加了个空格。


debug过了,的确是可以注入...对sql还是不够了解

最终写入数据库的语句是:

insert into comment values(NULL,1,1497261734,'88888',0,'hacker@hacker.org','http://www.hacker.org/','182.118.33.8','88888',0 RLIKE (SELECT (CASE WHEN (4725=4725) THEN 0 ELSE 0x28 END)) AND SLEEP(5)%20%23);

想请教一下最后一句是什么意思

0 RLIKE (SELECT (CASE WHEN (4725=4725) THEN 0 ELSE 0x28 END)) AND SLEEP(5)%20%23
高洛峰高洛峰2708 天前1886

全部回复(3)我来回复

  • PHP中文网

    PHP中文网2017-06-13 09:24:07

    xss 嵌套html脚本代码,参数应该转为html实体。函数htmlspecialchars

    连接1系通过输入mysql的关键字去进行mysql如今,应该需要将关键字过滤。

    当然其实所有防止注入最好的方式是用预处理! ! ! !

    回复
    1
  • PHP中文网

    PHP中文网2017-06-13 09:24:07

    1. 最好使用参数化查询,而不要使用SQL语句拼接的方式。

    2. xss可以通过参数过滤,将类似<script>这样的脚本代码过滤掉。

    回复
    1
  • 我想大声告诉你

    我想大声告诉你2017-06-13 09:24:07

    你这代码完全没过滤啊

    回复
    0
  • 取消回复