• 08-01-2025, 16:36:27
    #10
    DOS adlı üyeden alıntı: mesajı görüntüle
    kodları detaylı okursan Post işleminde gönderilen payment ve order id'leri üzerinden işlem yapıyor zaten sen başka bir order payment id verirsen onunda sipariş teslim ederken sipariş başarıyla teslim edildiğinin zaten kontrolü vardır 2. kez siparişi teslim etmez ve ödemeside hiçbir şekilde yapılmamış bir siparişin weepay tarafından success' alamıyacağın için sipariş teslim etme kısmına yine hiç ulaşamazsın kurgularınızda ciddi sıkıntılar var ufkunuzu açarak düşünün
    daha detaylı anlatayım

    200 tllik ürünü sepete ekledim satın aldım, incele de network kısmından callback sayfasına giden post kısımlarından paymentId değerini kopyaladım.
    ardından 5000 tllik ürünü sepete ekledim ve ödeme kısmında ödeme yapmadan çıktım. Bu siparişinde orderId değerini aldım.

    ardından callback linkine post gönderdim ödemesini yaptığım paymentId ve ödemesini yapmadığım woocommerce siparişimizin idsi ni
    kodlar kısmında bu iki değeri kullanarak paymentId ye baktı ve ödenmiş olduğunu döndü, kod içinde direkt ödenmişse bizim ödemediğimiz el ile girdiğimiz orderId değerini kullanıyor.

    eğer herhangi bir kontrolü varsa onu gösterebilirsiniz hocam kodu
  • 08-01-2025, 16:41:00
    #11
    Merhaba, POS Entegratör eklentimiz ile WeePay'i daha güvenli şekilde kullanabilirsiniz. incelemek ve iletişim için posentegrator.com
  • 08-01-2025, 16:48:38
    #12
    Saul4Goodmann adlı üyeden alıntı: mesajı görüntüle
    daha detaylı anlatayım

    200 tllik ürünü sepete ekledim satın aldım, incele de network kısmından callback sayfasına giden post kısımlarından paymentId değerini kopyaladım.
    ardından 5000 tllik ürünü sepete ekledim ve ödeme kısmında ödeme yapmadan çıktım. Bu siparişinde orderId değerini aldım.

    ardından callback linkine post gönderdim ödemesini yaptığım paymentId ve ödemesini yapmadığım woocommerce siparişimizin idsi ni
    kodlar kısmında bu iki değeri kullanarak paymentId ye baktı ve ödenmiş olduğunu döndü, kod içinde direkt ödenmişse bizim ödemediğimiz el ile girdiğimiz orderId değerini kullanıyor.

    eğer herhangi bir kontrolü varsa onu gösterebilirsiniz hocam kodu
    hocam sen sepet ve çoklu order mantığıyla bakıyorsunda olaya tamam yine senin dediğin gibi düşünelim. Ama bu modüller eklentiler öyle sürekli update alan yazılımlar değil wordpress tarafında Wc_Order - wc_clean gibi function'lara parametre olarak veriyor orada tekrardan sorgu ile paymentId ve OrderID'nin ilişkisi kontrolü yapılması çok muhtemeldir oradaki kodları bilmiyorum wordpressle ilgilenmem fakat o söylediğim id'lerin verildiği function'lara erişip id'ler ile napıyor kontrol edersen orada herşey ortaya çıkar dediğine göre güvenlik açığı oluşturur bu ama çok aptalca olur orderID'nin paymentID ile ilişkisinin kontrol edilmemesi ama vardır görünmüyor ilettiğin kodlarda Wc_order wc_clean gibi functionlar ama oraya bakmanı öneririm yinede güvenlik açığı olcağını sanmam olsaydı içinden geçerlerdi şimdiye kadar
  • 08-01-2025, 16:51:11
    #13
    DOS adlı üyeden alıntı: mesajı görüntüle
    hocam sen sepet ve çoklu order mantığıyla bakıyorsunda olaya tamam yine senin dediğin gibi düşünelim. Ama bu modüller eklentiler öyle sürekli update alan yazılımlar değil wordpress tarafında Wc_Order - wc_clean gibi function'lara parametre olarak veriyor orada tekrardan sorgu ile paymentId ve OrderID'nin ilişkisi kontrolü yapılması çok muhtemeldir oradaki kodları bilmiyorum wordpressle ilgilenmem fakat o söylediğim id'lerin verildiği function'lara erişip id'ler ile napıyor kontrol edersen orada herşey ortaya çıkar dediğine göre güvenlik açığı oluşturur bu ama çok aptalca olur orderID'nin paymentID ile ilişkisinin kontrol edilmemesi ama vardır görünmüyor ilettiğin kodlarda Wc_order wc_clean gibi functionlar ama oraya bakmanı öneririm yinede güvenlik açığı olcağını sanmam olsaydı içinden geçerlerdi şimdiye kadar
    yani hocam ben göremediğim için bu konuyu açtım zaten belki göremediğim bir şey vardır diye bende güvenlik açığı yoktur engellemişlerdir, vardır bir şey diye düşünseydim bu konu olmazdı zaten.
  • 08-01-2025, 17:03:36
    #14
    Saul4Goodmann adlı üyeden alıntı: mesajı görüntüle
    yani hocam ben göremediğim için bu konuyu açtım zaten belki göremediğim bir şey vardır diye bende güvenlik açığı yoktur engellemişlerdir, vardır bir şey diye düşünseydim bu konu olmazdı zaten.
    Wc_order ve wc_clean function'larınıda tam olarak atarsan orderId ile paymentId'e erişip eskiden ödenmiş olan order'ı sorgu ile ödenmemiş olarakmı sorguyu atıyor eğer öyleyse Order modeli Null dönecektir yine güvenliğe takılacaktır söylediğim 2 function'ı tam olarak atarsan oralardaki sorgu ve işlemleri kontrol edebiliriz tekrardan hiç sanmıyorum ama bu haliyle anlaşılmaz.

    Not: OrderID'yi WooCommerce'ın function'ı olan Wc_Order'a iletiyor Görünen kodlarda söylediğin gibi güvenliği sıkıntıya sokacak gibi bir hava yaratmış olsalarda Woocommerce tarafında OrderId ve PaymentId ilişkisi her türlü yapılır. Yapılmasada Önceden ödenmiş olan siparişi yeni ödenmemiş bir siparişte OrderId ile yine Wc_Order tarafında Model'e erişirken siparişi teslim etmek ödemeyi onaylamak için ödenmemiş bir sipariş araması yapar WooCommerce'de büyük bir topluluğa sahip boş geçmezler oranın sorgusundada ekstradan düşünülmüştür bu kısım diye düşünüyorum sen çok büyük umutlarla açmışsın gibi görünüyorsun konuda atar gider yapıyorsunda WooCommerce içerisinde sorgularda bu kontrolü yapıyorsa Weepay ekstra gerek duymamışda olabilir dışarda tekrar kontrolünü yapmayaki büyük ihtimal bu şekildedir. Production'da olan bir yazılımda weepay aktifken aynı kurguya manipüle denenirse büyük ihtimal Wc_Order'dan dönen Order Modeli Null dönmesi çok muhtemel olacaktır dönmezse zaten güvenlik açığı vardır uzatmaya gerek yok
  • 08-01-2025, 17:22:14
    #15
    DOS adlı üyeden alıntı: mesajı görüntüle
    Wc_order ve wc_clean function'larınıda tam olarak atarsan orderId ile paymentId'e erişip eskiden ödenmiş olan order'ı sorgu ile ödenmemiş olarakmı sorguyu atıyor eğer öyleyse Order modeli Null dönecektir yine güvenliğe takılacaktır söylediğim 2 function'ı tam olarak atarsan oralardaki sorgu ve işlemleri kontrol edebiliriz tekrardan hiç sanmıyorum ama bu haliyle anlaşılmaz.
    wc_order veritabanı bağlantsını kuruyor girilen order id ile wc_clean ise şunu yapıyormuş


    bahsettiğim açığın kontrolünü yapmıyorlar, bu fonksiyonların paymentId ile alakası ve erişimi yok bildiğim kadarıyla

    tam olarak iletmiştim zaten buradan indirebilirsin https://weepay.co/Entegrasyon/HazirM...merce#moduller
  • 08-01-2025, 17:25:00
    #16
    DOS adlı üyeden alıntı: mesajı görüntüle
    Wc_order ve wc_clean function'larınıda tam olarak atarsan orderId ile paymentId'e erişip eskiden ödenmiş olan order'ı sorgu ile ödenmemiş olarakmı sorguyu atıyor eğer öyleyse Order modeli Null dönecektir yine güvenliğe takılacaktır söylediğim 2 function'ı tam olarak atarsan oralardaki sorgu ve işlemleri kontrol edebiliriz tekrardan hiç sanmıyorum ama bu haliyle anlaşılmaz.

    Not: OrderID'yi WooCommerce'ın function'ı olan Wc_Order'a iletiyor Görünen kodlarda söylediğin gibi güvenliği sıkıntıya sokacak gibi bir hava yaratmış olsalarda Woocommerce tarafında OrderId ve PaymentId ilişkisi her türlü yapılır. Yapılmasada Önceden ödenmiş olan siparişi yeni ödenmemiş bir siparişte OrderId ile yine Wc_Order tarafında Model'e erişirken siparişi teslim etmek ödemeyi onaylamak için ödenmemiş bir sipariş araması yapar WooCommerce'de büyük bir topluluğa sahip boş geçmezler oranın sorgusundada ekstradan düşünülmüştür bu kısım diye düşünüyorum sen çok büyük umutlarla açmışsın gibi görünüyorsun konuda atar gider yapıyorsunda WooCommerce içerisinde sorgularda bu kontrolü yapıyorsa Weepay ekstra gerek duymamışda olabilir dışarda tekrar kontrolünü yapmayaki büyük ihtimal bu şekildedir. Production'da olan bir yazılımda weepay aktifken aynı kurguya manipüle denenirse büyük ihtimal Wc_Order'dan dönen Order Modeli Null dönmesi çok muhtemel olacaktır dönmezse zaten güvenliği vardır uzatmaya gerek yok
    order id ve payment id kontrolünü bu sayfada tek satırla değilde woocommercin kendi fonksiyonunu düzelterek yapmışlar diyorsunuz yani? atar gideri siz yapıyorsunuz hocam basit bir konu açtım weepay şirketi sahibi gibi savunmanıza gerek yok açık olabilir norma bir şey sonuçta bunu da tamamen 0 kusursuz bir insan kodlamadı veya bende de kusur olabilir görmediğim yer olabilir ama siz bir kod göstermeden varsayımlar üzerinden konuşuyorsunuz. Orda onu yapmışlardır, açık bırakmamışlardır, büyük topluluk sonuçta vs. diyerek

    + olarak "Woocommerce tarafında OrderId ve PaymentId ilişkisi her türlü yapılır. " demişsiniz ama bu tek sayfalık eklenti nasıl woocommerce tarafında ki fonksiyonları düzeltecek, eklentiyi indirip yüklüyoruz woocommerce bu eklentinin herhangi bir fonksiyonunu düzeltme izni vereceğini sanmıyorum.
  • 08-01-2025, 17:47:30
    #17
    Saul4Goodmann adlı üyeden alıntı: mesajı görüntüle
    order id ve payment id kontrolünü bu sayfada tek satırla değilde woocommercin kendi fonksiyonunu düzelterek yapmışlar diyorsunuz yani? atar gideri siz yapıyorsunuz hocam basit bir konu açtım weepay şirketi sahibi gibi savunmanıza gerek yok açık olabilir norma bir şey sonuçta bunu da kusurlu bir insan kodladı veya bende de kusur olabilir görmediğim yer olabilir ama siz bir kod göstermeden varsayımlar üzerinden konuşuyorsunuz. Orda onu yapmışlardır, açık bırakmamışlardır, büyük topluluk sonuçta vs. diyerek

    + olarak "Woocommerce tarafında OrderId ve PaymentId ilişkisi her türlü yapılır. " demişsiniz ama bu tek sayfalık eklenti nasıl woocommerce tarafında ki fonksiyonları düzeltecek, eklentiyi indirip yüklüyoruz woocommerce bu eklentinin herhangi bir fonksiyonunu düzeltme izni vereceğini sanmıyorum.
    Hocam uzun uzun yazmak yerine çok kısa bir örnek vermek istiyorum.

    1. Sipariş
    * Ürün 1 : sakız
    * Ürün 2 : çikolata
    Not: Ödendi.
    OrderId ve PaymentId ürünler ve sipariş completed ödendi sorunsuz. (OrderId ve PaymentId ilişkili ürünler ve ödeme durumu başarılıya geçti.)

    2. Sipariş
    * Ürün 1 : iphone
    * Ürün 2 : Samsung
    Not: Ödenmedi.

    Manipüle için 2. Siparişin Order bilgisi veriliyor ve 1. siparişin Payment bilgisi veriliyor. Fakat Wc_Order WooCommerce Tarafında OrderId ile Payment bilgisine erişiyor 1. siparişin bakıyor daha önce ödenmiş ve teslim edilmiş veritabanında kayıtlara geçmiş Bunu sadece OrderId ile içerde ilişkili sorguda tespit edebilir. Ve Daha önce ödenip teslim edilmiş olarak işlendiği için ödenmemiş sipariş durumu bekleyen olmadığı için orada Order Modeli Sorguda ödenmemiş bir sipariş olmadığı daha önce ödendiği için sorgudan veri null döner ve Order Modeli Null olduğu için Weepay tarafında Order değişkeni null olacak ve teslim işleminde Order işlemleri sağlanmayacak bilmem anlatabildimmi.
  • 08-01-2025, 17:54:47
    #18
    DOS adlı üyeden alıntı: mesajı görüntüle
    Hocam uzun uzun yazmak yerine çok kısa bir örnek vermek istiyorum.

    1. Sipariş
    * Ürün 1 : sakız
    * Ürün 2 : çikolata
    Not: Ödendi.
    OrderId ve PaymentId ürünler ve sipariş completed ödendi sorunsuz. (OrderId ve PaymentId ilişkili ürünler ve ödeme durumu başarılıya geçti.)

    2. Sipariş
    * Ürün 1 : iphone
    * Ürün 2 : Samsung
    Not: Ödenmedi.

    Manipüle için 2. Siparişin Order bilgisi veriliyor ve 1. siparişin Payment bilgisi veriliyor. Fakat Wc_Order WooCommerce Tarafında OrderId ile Payment bilgisine erişiyor 1. siparişin bakıyor daha önce ödenmiş ve teslim edilmiş veritabanında kayıtlara geçmiş Bunu sadece OrderId ile içerde ilişkili sorguda tespit edebilir. Ve Daha önce ödenip teslim edilmiş olarak işlendiği için ödenmemiş sipariş durumu bekleyen olmadığı için orada Order Modeli Sorguda ödenmemiş bir sipariş olmadığı daha önce ödendiği için sorgudan veri null döner ve Order Modeli Null olduğu için Weepay tarafında Order değişkeni null olacak ve teslim işleminde Order işlemleri sağlanmayacak bilmem anlatabildimmi.
    tamam hocam işte bunun kodlar içinde yapılması gerekiyor çünkü wc_order fonksiyonunun paymentId ye erişimi yok olsa bile bu kontrolü sağlamıyor wc_order tüm woocommercelerde bulunan tüm ödeme entegrasyonlarının kullandığı veritabanından sipariş detayını ileten bir fonksiyon