2017-10-18 102 views
1

我試圖使用簡單的HTTP請求(使用cURL)從文件的內容創建關於privnote.com的註釋。我只能找到的唯一信息是this nodeJS app,所以我用它作爲參考,但到目前爲止沒有運氣。使用HTTP請求在privnote.com中創建註釋

這是我到目前爲止有:

curl -v \ 
    -H "Host: privnote.com" \ 
    -H "Connection: keep-alive" \ 
    -H "Content-Length: 153" \ 
    -H "Origin: https://privnote.com" \ 
    -H "X-Requested-With: XMLHttpRequest" \ 
    -H "User-Agent: privnote-cli/0.1.0 (https://github.com/nonrational/privnote-cli)" \ 
    -H "Content-Type: application/x-www-form-urlencoded" \ 
    -H "Accept: */*" \ 
    -H "DNT: 1" \ 
    -H "Referer: https://privnote.com/" \ 
    -H "Accept-Encoding: gzip, deflate, br" \ 
    -H "Accept-Language: en-GB,en-US;q=0.8,en;q=0.6" \ 
    -X POST \ 
    --data-binary "@pst-np-v1.pem" \ 
    "https://privnote.com/legacy/" 

當我做到這一點要求,我得到500 Internal Server Error。任何想法如何得到這個工作?

感謝,

編輯:最終目標是:我想要一個文件的內容上傳的一張紙條,然後全部通過命令行獲取的URL。

回答

1

含量需要application/x-www-form-urlencoded發送使用以下參數:

  • 數據
  • has_manual_pass
  • DURATION_HOURS
  • dont_ask
  • DATA_TYPE
  • notify_email
  • notify_ref

data參數包含在AES 256 CBC具有9個字符的長度密碼

password=siK2TDfjC 
data=$(cat pst-np-v1.pem | openssl enc -e -aes-256-cbc -k $password -a -md md5) 

curl -v 'https://privnote.com/' \ 
    -H 'X-Requested-With: XMLHttpRequest' \ 
    --data-urlencode "data=$data" \ 
    --data "has_manual_pass=false&duration_hours=0&dont_ask=false&data_type=T&notify_email=&notify_ref=" 

的JSON字段note_link可使用jq JSON解析器被提取並連接起來以#$password以獲得完整的URI加密的消息

完整的示例:

password=siK2TDfjC 
message="a not so secret note" 
data=$(echo "$message" | openssl enc -e -aes-256-cbc -k $password -a -md md5) 

note_link=$(curl -s 'https://privnote.com/' \ 
    -H 'X-Requested-With: XMLHttpRequest' \ 
    --data-urlencode "data=$data" \ 
    --data "has_manual_pass=false&duration_hours=0&dont_ask=false&data_type=T&notify_email=&notify_ref=" \ 
    | jq -r --arg arg $password '.note_link + "#" + $arg') 

echo "note URL is $note_link" 
+0

哇,真棒,問題,但密碼需要隨機生成?或者每次都可以相同? – Fadi

+0

我想我可以這樣做:'head/dev/urandom | tr -dc A-Za-z0-9 |頭-c9'隨機生成一個9位數的密碼。 – Fadi

+1

是的,它可以是相同的,服務器似乎沒有保存已經使用的密碼緩存,如果您安裝了這些工具,也可以使用'pwgen -N 1 9'或'makepasswd --maxchars = 9' –