In the previous post, a PHP page was created to upload a file. Below is powershell that can be used to upload a selected file from a windows computer to the PHP page.
add-type @" using System.Net; using System.Security.Cryptography.X509Certificates; public class TrustAllCertsPolicy : ICertificatePolicy { public bool CheckValidationResult( ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem) { return true; } } "@ [System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls12' # Name of the file to upload to server $FileName = 'test4.txt'; # Location of file to upload $FilePath = 'C:\users\thepcn3rd\test1.txt'; # URL of webserver (with SSL cert) $URL = 'https://172.16.53.133/upload.php'; $fileBytes = [System.IO.File]::ReadAllBytes($FilePath); $fileEnc = [System.Text.Encoding]::GetEncoding('ISO-8859-1').GetString($fileBytes); $boundary = [System.Guid]::NewGuid().ToString(); $LF = "`r`n"; # Most difficult part is below... $bodyLines = ( "--$boundary", "Content-Disposition: form-data; name=`"f`"; filename=`"$FileName`"", "Content-Type: application/octet-stream$LF", $fileEnc, "--$boundary", "Content-Disposition: form-data; name=`"submit`"$LF", "Upload", "--$boundary--$LF" ) -join $LF Invoke-RestMethod -Uri $URL -Method Post -ContentType "multipart/form-data; boundary=`"$boundary`"" -Body $bodyLines
No comments:
Post a Comment