lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (SOLR-5287) Allow at least solrconfig.xml and schema.xml to be edited via the admin screen
Date Mon, 02 Dec 2013 17:46:37 GMT

    [ https://issues.apache.org/jira/browse/SOLR-5287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13836068#comment-13836068
] 

Uwe Schindler edited comment on SOLR-5287 at 12/2/13 5:45 PM:
--------------------------------------------------------------

You can also upload a whole shell script to your config dir with a single GET request using
stream.body and then execute this one with the above XSL. There are no limit, you can do whatever
you like :-)

In addition the XSL hack used here is not the only possibility to use the new "solr file manager"
to inject code:
- You can use the file manager to upload javascript files into the DIH folder and execute
it later through DIH
- You can use the file manager to upload javascript files to the config dir and then use them
in the UpdateRequestHandler through [ScriptUpdateProcessor|http://wiki.apache.org/solr/ScriptUpdateProcessor].
This is not enabled by default, but you can also upload a new solrconfig.xml through this
handler and enable this, even with a GET request!!!

As Javascript (or any other scripting language) is running in Solr's JVM, you have access
to the whole Solr API from the viewpoint of the Solr Update Request Handler / DIH.

The above PoC just shows the easiest way to use this hole.


was (Author: thetaphi):
You can also upload a whole shell script to your config dir with a single GET request using
stream.body and then execute this one with the above XSL. There are no limit, you can do whatever
you like :-)

> Allow at least solrconfig.xml and schema.xml to be edited via the admin screen
> ------------------------------------------------------------------------------
>
>                 Key: SOLR-5287
>                 URL: https://issues.apache.org/jira/browse/SOLR-5287
>             Project: Solr
>          Issue Type: Improvement
>          Components: Schema and Analysis, web gui
>    Affects Versions: 4.5, 5.0
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>            Priority: Blocker
>             Fix For: 5.0, 4.7
>
>         Attachments: SOLR-5287.patch, SOLR-5287.patch, SOLR-5287.patch, SOLR-5287.patch,
SOLR-5287.patch
>
>
> A user asking a question on the Solr list got me to thinking about editing the main config
files from the Solr admin screen. I chatted briefly with [~steffkes] about the mechanics of
this on the browser side, he doesn't see a problem on that end. His comment is there's no
end point that'll write the file back.
> Am I missing something here or is this actually not a hard problem? I see a couple of
issues off the bat, neither of which seem troublesome.
> 1> file permissions. I'd imagine lots of installations will get file permission exceptions
if Solr tries to write the file out. Well, do a chmod/chown.
> 2> screwing up the system maliciously or not. I don't think this is an issue, this
would be part of the admin handler after all.
> Does anyone have objections to the idea? And how does this fit into the work that [~sarowe@syr.edu]
has been doing?
> I can imagine this extending to SolrCloud with a "push this to ZK" option or something
like that, perhaps not in V1 unless it's easy.....
> Of course any pointers gratefully received. Especially ones that start with "Don't waste
your effort, it'll never work (or be accepted)"...
> Because what scares me is this seems like such an easy thing to do that would be a significant
ease-of-use improvement, so there _has_ to be something I'm missing.
> So if we go forward with this we'll make this the umbrella JIRA, the two immediate sub-JIRAs
that spring to mind will be the UI work and the endpoints for the UI work to use.
> I think there are only two end-points here
> 1> list all the files in the conf (or arbitrary from <solr_home>/collection)
directory.
> 2> write this text to this file
> Possibly later we could add "clone the configs from coreX to coreY".
> BTW, I've assigned this to myself so I don't lose it, but if anyone wants to take it
over it won't hurt my feelings a bit....



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message